オブジェクトHTTPリクエスト
HttpRequest は HTTP リクエストの処理に使用されるクラスで、HTTP リクエストを作成し、サーバーと対話できるようにします。これを使用して、GET、POST、およびその他の種類の HTTP リクエストを Web サーバーに送信できます。
キー名を持つクエリ パラメータがあり、このパラメータに基づいてさまざまな処理結果を返すとします: パラメータが空の場合は「Hello world!」を返し、パラメータが「fibjs」の場合は「Hello fibjs!」を返します。それ以外の場合は、「Hello some body!」を返します。
コードは次のように実装されます。
1
2
3
4
5
6
7
8
9
10const http = require('http');
var svr = new http.Server(8080, (req) => {
var name = req.query.get('name');
var msg = name ? `Hello ${name}!` : 'Hello world!';
req.response.write(msg);
});
svr.start();
req.query
ここでは、HTTP リクエスト URL のクエリ パラメーターを表すこのコレクション タイプを使用します。
ブラウザからサービス プログラムにhttp://127.0.0.1:8080/?name=fibjsにアクセスし、サーバーの応答コンテンツを取得しますHello fibjs!
。
相続関係
コンストラクタ
HttpRequest
HttpRequest コンストラクター、新しい HttpRequest オブジェクトを作成します
1new HttpRequest();
絶え間ない
TEXT
テキストタイプを表すメッセージタイプ1を指定します。
1const HttpRequest.TEXT = 1;
BINARY
バイナリ型を表すメッセージ タイプ 2 を指定します。
1const HttpRequest.BINARY = 2;
メンバーのプロパティ
response
HttpResponse, 応答メッセージオブジェクトを取得します。
1readonly HttpResponse HttpRequest.response;
method
文字列、クエリ、セットのリクエストメソッド
1String HttpRequest.method;
address
文字列、クエリ、および設定リクエストアドレス
1String HttpRequest.address;
queryString
文字列、クエリ、およびセットリクエストクエリ文字列
1String HttpRequest.queryString;
cookies
HttpCollection、メッセージ Cookie を含むコンテナを取得します
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection、メッセージフォームを含むコンテナを取得します
1readonly HttpCollection HttpRequest.form;
query
HttpCollection、メッセージクエリを含むコンテナを取得します。
1readonly HttpCollection HttpRequest.query;
protocol
文字列、プロトコルのバージョン情報、許可される形式は次のとおりです: HTTP/#.#
1String HttpRequest.protocol;
headers
HttpCollection、メッセージに含まれていますhttpメッセージヘッダーのコンテナー、読み取り専用プロパティ
1readonly HttpCollection HttpRequest.headers;
keepAlive
ブール値、接続を維持するかどうかのクエリと設定
1Boolean HttpRequest.keepAlive;
upgrade
ブール値、アップグレード プロトコルであるかどうかをクエリおよび設定します
1Boolean HttpRequest.upgrade;
maxHeadersCount
整数。リクエスト ヘッダーの最大数をクエリおよび設定します。デフォルトは 128 です。
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
整数。リクエスト ヘッダーの最大長をクエリおよび設定します。デフォルトは 8192 です。
1Integer HttpRequest.maxHeaderSize;
maxBodySize
整数。本文の最大サイズを MB 単位でクエリおよび設定します。デフォルトは 64 です。
1Integer HttpRequest.maxBodySize;
socket
Stream, 現在のオブジェクトのソースソケットをクエリします。
1readonly Stream HttpRequest.socket;
value
文字列、メッセージの基本的な内容
1String HttpRequest.value;
params
NArray、メッセージの基本パラメータ
1readonly NArray HttpRequest.params;
type
整数、メッセージタイプ
1Integer HttpRequest.type;
data
値。メッセージのデータをクエリします。この属性は、コンテンツ タイプに応じて異なるデータを返します。テキストの場合は、テキストが返されます。jsonいつ戻るjsonそれ以外の場合はバイナリを返します
1readonly Value HttpRequest.data;
body
SeekableStream、メッセージのデータ部分を含むストリーム オブジェクト
1SeekableStream HttpRequest.body;
length
Long、メッセージデータ部分の長さ
1readonly Long HttpRequest.length;
stream
Stream、メッセージ readFrom をクエリするときのストリーム オブジェクト
1readonly Stream HttpRequest.stream;
lastError
文字列、クエリ、およびメッセージ処理の最後のエラーを設定します
1String HttpRequest.lastError;
メンバー関数
hasHeader
指定されたキー値を持つメッセージ ヘッダーが存在するかどうかを確認する
1Boolean HttpRequest.hasHeader(String name);
呼び出しパラメータ:
- name: 文字列、チェックするキー値を指定します
返される結果:
- Boolean、キー値が存在するかどうかを返します。
firstHeader
指定されたキー値の最初のメッセージヘッダーをクエリします。
1String HttpRequest.firstHeader(String name);
呼び出しパラメータ:
- name: 文字列、クエリするキー値を指定します
返される結果:
- String、キー値に対応する値を返します。キー値が存在しない場合は、未定義を返します。
allHeader
指定されたキー値のすべてのメッセージ ヘッダーをクエリします
1NObject HttpRequest.allHeader(String name = "");
呼び出しパラメータ:
- name: 文字列。クエリするキー値を指定します。すべてのキー値の結果を返すには空の文字列を渡します。
返される結果:
- NObject, キー値に対応するすべての値の配列を返します。データが存在しない場合は null を返します。
addHeader
メッセージ ヘッダーを追加し、データを追加します。既存のキー値のメッセージ ヘッダーは変更しません。
1HttpRequest.addHeader(Object map);
呼び出しパラメータ:
- map: オブジェクト。追加するキーと値のデータ ディクショナリを指定します。
指定された名前を持つヘッダーのセットを追加します。データを追加しても、既存のキー値のヘッダーは変更されません。
1
2HttpRequest.addHeader(String name,
Array values);
呼び出しパラメータ:
- name: 文字列、追加するキー値を指定します
- values: 配列、追加するデータのセットを指定します
メッセージ ヘッダーを追加し、データを追加します。既存のキー値のメッセージ ヘッダーは変更しません。
1
2HttpRequest.addHeader(String name,
String value);
呼び出しパラメータ:
- name: 文字列、追加するキー値を指定します
- value: 文字列、追加するデータを指定します
setHeader
メッセージ ヘッダーを設定します。データを設定すると、キー値に対応する最初の値が変更され、同じキー値を持つ残りのメッセージ ヘッダーがクリアされます。
1HttpRequest.setHeader(Object map);
呼び出しパラメータ:
- map: オブジェクト。設定するキーと値のデータ ディクショナリを指定します。
指定された名前を持つメッセージ ヘッダーのセットを設定します。データを設定すると、キー値に対応する値が変更され、同じキー値を持つ残りのメッセージ ヘッダーがクリアされます。
1
2HttpRequest.setHeader(String name,
Array values);
呼び出しパラメータ:
- name: 文字列、設定するキー値を指定します
- values: 配列、設定するデータのセットを指定します
メッセージ ヘッダーを設定します。データを設定すると、キー値に対応する最初の値が変更され、同じキー値を持つ残りのメッセージ ヘッダーがクリアされます。
1
2HttpRequest.setHeader(String name,
String value);
呼び出しパラメータ:
- name: 文字列、設定するキー値を指定します
- value:文字列、設定するデータを指定します
removeHeader
指定されたキー値を持つすべてのメッセージ ヘッダーを削除します
1HttpRequest.removeHeader(String name);
呼び出しパラメータ:
- name: 文字列、削除するキー値を指定します
read
指定したサイズのデータをストリームから読み取ります。このメソッドは、本体の対応するメソッドのエイリアスです。
1Buffer HttpRequest.read(Integer bytes = -1) async;
呼び出しパラメータ:
- bytes: 整数。読み取られるデータの量を指定します。デフォルトでは、ランダムなサイズのデータ ブロックが読み取られます。読み取られるデータのサイズはデバイスによって異なります。
返される結果:
- Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
readAll
ストリームから残りのデータをすべて読み取ります。このメソッドは、本体の対応するメソッドのエイリアスです。
1Buffer HttpRequest.readAll() async;
返される結果:
- Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。
write
指定されたデータを書き込みます。このメソッドは、本体内の対応するメソッドのエイリアスです。
1HttpRequest.write(Buffer data) async;
呼び出しパラメータ:
- data:Buffer、書き込まれるデータが与えられると、
json
指定されたデータを JSON エンコードで書き込みます
1Value HttpRequest.json(Value data);
呼び出しパラメータ:
- data: 書き込まれるデータの値
返される結果:
- Value、このメソッドはデータを返しません
メッセージ内のデータを JSON エンコードとして解析します
1Value HttpRequest.json();
返される結果:
- Value、解析された結果を返します
pack
によるmsgpackエンコーディングは指定されたデータを書き込みます
1Value HttpRequest.pack(Value data);
呼び出しパラメータ:
- data: 書き込まれるデータの値
返される結果:
- Value、このメソッドはデータを返しません
によるmsgpackメッセージ内のデータのエンコードと解析
1Value HttpRequest.pack();
返される結果:
- Value、解析された結果を返します
end
現在のメッセージ処理の終了を設定します。Chainプロセッサは後続のトランザクションを続行しません
1HttpRequest.end();
isEnded
現在のメッセージが終了したかどうかを問い合わせます
1Boolean HttpRequest.isEnded();
返される結果:
- Boolean、終了すると true を返します
clear
メッセージの内容をクリアする
1HttpRequest.clear();
sendTo
フォーマットされたメッセージを指定されたストリーム オブジェクトに送信します
1HttpRequest.sendTo(Stream stm) async;
呼び出しパラメータ:
- stm:Stream、フォーマットされたメッセージを受信するストリーム オブジェクトを指定します。
readFrom
指定されたキャッシュ ストリーム オブジェクトからフォーマットされたメッセージを読み取り、設定されたオブジェクトを解析します
1HttpRequest.readFrom(Stream stm) async;
呼び出しパラメータ:
- stm:Stream、フォーマットされたメッセージを読み取るためのストリーム オブジェクトを指定します
toString
オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。
1String HttpRequest.toString();
返される結果:
- String、オブジェクトの文字列表現を返します。
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value HttpRequest.toJSON(String key = "");
呼び出しパラメータ:
- key: 文字列、使用されません
返される結果:
- Value、シリアル化可能な JSON を含む値を返します