オブジェクト組み込みオブジェクト

オブジェクト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 10
const 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 オブジェクトを作成します

1
new HttpRequest();

絶え間ない

TEXT

テキストタイプを表すメッセージタイプ1を指定します。

1
const HttpRequest.TEXT = 1;

BINARY

バイナリ型を表すメッセージ タイプ 2 を指定します。

1
const HttpRequest.BINARY = 2;

メンバーのプロパティ

response

HttpResponse, 応答メッセージオブジェクトを取得します。

1
readonly HttpResponse HttpRequest.response;

method

文字列、クエリ、セットのリクエストメソッド

1
String HttpRequest.method;

address

文字列、クエリ、および設定リクエストアドレス

1
String HttpRequest.address;

queryString

文字列、クエリ、およびセットリクエストクエリ文字列

1
String HttpRequest.queryString;

cookies

HttpCollection、メッセージ Cookie を含むコンテナを取得します

1
readonly HttpCollection HttpRequest.cookies;

form

HttpCollection、メッセージフォームを含むコンテナを取得します

1
readonly HttpCollection HttpRequest.form;

query

HttpCollection、メッセージクエリを含むコンテナを取得します。

1
readonly HttpCollection HttpRequest.query;

protocol

文字列、プロトコルのバージョン情報、許可される形式は次のとおりです: HTTP/#.#

1
String HttpRequest.protocol;

headers

HttpCollection、メッセージに含まれていますhttpメッセージヘッダーのコンテナー、読み取り専用プロパティ

1
readonly HttpCollection HttpRequest.headers;

keepAlive

ブール値、接続を維持するかどうかのクエリと設定

1
Boolean HttpRequest.keepAlive;

upgrade

ブール値、アップグレード プロトコルであるかどうかをクエリおよび設定します

1
Boolean HttpRequest.upgrade;

maxHeadersCount

整数。リクエスト ヘッダーの最大数をクエリおよび設定します。デフォルトは 128 です。

1
Integer HttpRequest.maxHeadersCount;

maxHeaderSize

整数。リクエスト ヘッダーの最大長をクエリおよび設定します。デフォルトは 8192 です。

1
Integer HttpRequest.maxHeaderSize;

maxBodySize

整数。本文の最大サイズを MB 単位でクエリおよび設定します。デフォルトは 64 です。

1
Integer HttpRequest.maxBodySize;

socket

Stream, 現在のオブジェクトのソースソケットをクエリします。

1
readonly Stream HttpRequest.socket;

value

文字列、メッセージの基本的な内容

1
String HttpRequest.value;

params

NArray、メッセージの基本パラメータ

1
readonly NArray HttpRequest.params;

type

整数、メッセージタイプ

1
Integer HttpRequest.type;

data

値。メッセージのデータをクエリします。この属性は、コンテンツ タイプに応じて異なるデータを返します。テキストの場合は、テキストが返されます。jsonいつ戻るjsonそれ以外の場合はバイナリを返します

1
readonly Value HttpRequest.data;

body

SeekableStream、メッセージのデータ部分を含むストリーム オブジェクト

1
SeekableStream HttpRequest.body;

length

Long、メッセージデータ部分の長さ

1
readonly Long HttpRequest.length;

stream

Stream、メッセージ readFrom をクエリするときのストリーム オブジェクト

1
readonly Stream HttpRequest.stream;

lastError

文字列、クエリ、およびメッセージ処理の最後のエラーを設定します

1
String HttpRequest.lastError;

メンバー関数

hasHeader

指定されたキー値を持つメッセージ ヘッダーが存在するかどうかを確認する

1
Boolean HttpRequest.hasHeader(String name);

呼び出しパラメータ:

  • name: 文字列、チェックするキー値を指定します

返される結果:

  • Boolean、キー値が存在するかどうかを返します。

firstHeader

指定されたキー値の最初のメッセージヘッダーをクエリします。

1
String HttpRequest.firstHeader(String name);

呼び出しパラメータ:

  • name: 文字列、クエリするキー値を指定します

返される結果:

  • String、キー値に対応する値を返します。キー値が存在しない場合は、未定義を返します。

allHeader

指定されたキー値のすべてのメッセージ ヘッダーをクエリします

1
NObject HttpRequest.allHeader(String name = "");

呼び出しパラメータ:

  • name: 文字列。クエリするキー値を指定します。すべてのキー値の結果を返すには空の文字列を渡します。

返される結果:

  • NObject, キー値に対応するすべての値の配列を返します。データが存在しない場合は null を返します。

addHeader

メッセージ ヘッダーを追加し、データを追加します。既存のキー値のメッセージ ヘッダーは変更しません。

1
HttpRequest.addHeader(Object map);

呼び出しパラメータ:

  • map: オブジェクト。追加するキーと値のデータ ディクショナリを指定します。

指定された名前を持つヘッダーのセットを追加します。データを追加しても、既存のキー値のヘッダーは変更されません。

1 2
HttpRequest.addHeader(String name, Array values);

呼び出しパラメータ:

  • name: 文字列、追加するキー値を指定します
  • values: 配列、追加するデータのセットを指定します

メッセージ ヘッダーを追加し、データを追加します。既存のキー値のメッセージ ヘッダーは変更しません。

1 2
HttpRequest.addHeader(String name, String value);

呼び出しパラメータ:

  • name: 文字列、追加するキー値を指定します
  • value: 文字列、追加するデータを指定します

setHeader

メッセージ ヘッダーを設定します。データを設定すると、キー値に対応する最初の値が変更され、同じキー値を持つ残りのメッセージ ヘッダーがクリアされます。

1
HttpRequest.setHeader(Object map);

呼び出しパラメータ:

  • map: オブジェクト。設定するキーと値のデータ ディクショナリを指定します。

指定された名前を持つメッセージ ヘッダーのセットを設定します。データを設定すると、キー値に対応する値が変更され、同じキー値を持つ残りのメッセージ ヘッダーがクリアされます。

1 2
HttpRequest.setHeader(String name, Array values);

呼び出しパラメータ:

  • name: 文字列、設定するキー値を指定します
  • values: 配列、設定するデータのセットを指定します

メッセージ ヘッダーを設定します。データを設定すると、キー値に対応する最初の値が変更され、同じキー値を持つ残りのメッセージ ヘッダーがクリアされます。

1 2
HttpRequest.setHeader(String name, String value);

呼び出しパラメータ:

  • name: 文字列、設定するキー値を指定します
  • value:文字列、設定するデータを指定します

removeHeader

指定されたキー値を持つすべてのメッセージ ヘッダーを削除します

1
HttpRequest.removeHeader(String name);

呼び出しパラメータ:

  • name: 文字列、削除するキー値を指定します

read

指定したサイズのデータ​​をストリームから読み取ります。このメソッドは、本体の対応するメソッドのエイリアスです。

1
Buffer HttpRequest.read(Integer bytes = -1) async;

呼び出しパラメータ:

  • bytes: 整数。読み取られるデータの量を指定します。デフォルトでは、ランダムなサイズのデータ​​ ブロックが読み取られます。読み取られるデータのサイズはデバイスによって異なります。

返される結果:

  • Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

readAll

ストリームから残りのデータをすべて読み取ります。このメソッドは、本体の対応するメソッドのエイリアスです。

1
Buffer HttpRequest.readAll() async;

返される結果:

  • Bufferは、ストリームから読み取られたデータを返します。読み取るデータがない場合、または接続が中断された場合は、null が返されます。

write

指定されたデータを書き込みます。このメソッドは、本体内の対応するメソッドのエイリアスです。

1
HttpRequest.write(Buffer data) async;

呼び出しパラメータ:

  • data:Buffer、書き込まれるデータが与えられると、

json

指定されたデータを JSON エンコードで書き込みます

1
Value HttpRequest.json(Value data);

呼び出しパラメータ:

  • data: 書き込まれるデータの値

返される結果:

  • Value、このメソッドはデータを返しません

メッセージ内のデータを JSON エンコードとして解析します

1
Value HttpRequest.json();

返される結果:

  • Value、解析された結果を返します

pack

によるmsgpackエンコーディングは指定されたデータを書き込みます

1
Value HttpRequest.pack(Value data);

呼び出しパラメータ:

  • data: 書き込まれるデータの値

返される結果:

  • Value、このメソッドはデータを返しません

によるmsgpackメッセージ内のデータのエンコードと解析

1
Value HttpRequest.pack();

返される結果:

  • Value、解析された結果を返します

end

現在のメッセージ処理の終了を設定します。Chainプロセッサは後続のトランザクションを続行しません

1
HttpRequest.end();

isEnded

現在のメッセージが終了したかどうかを問い合わせます

1
Boolean HttpRequest.isEnded();

返される結果:

  • Boolean、終了すると true を返します

clear

メッセージの内容をクリアする

1
HttpRequest.clear();

sendTo

フォーマットされたメッセージを指定されたストリーム オブジェクトに送信します

1
HttpRequest.sendTo(Stream stm) async;

呼び出しパラメータ:

  • stm:Stream、フォーマットされたメッセージを受信するストリーム オブジェクトを指定します。

readFrom

指定されたキャッシュ ストリーム オブジェクトからフォーマットされたメッセージを読み取り、設定されたオブジェクトを解析します

1
HttpRequest.readFrom(Stream stm) async;

呼び出しパラメータ:

  • stm:Stream、フォーマットされたメッセージを読み取るためのストリーム オブジェクトを指定します

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String HttpRequest.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value HttpRequest.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します