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

オブジェクトルーティング

メッセージハンドラルーティングオブジェクト

ルーティングオブジェクトはhttpメッセージ処理の中核オブジェクト。サーバーはルーティング設定に従って照合します。urlと方法と意志httpメッセージは、対応するプロセッサに転送されて、さまざまなトランザクションを完了します。

次のような単純なルートを JSON オブジェクトとして直接提供できます。

1 2 3 4 5 6 7 8
var http = require('http'); var svr = new http.Server(8080, { '/': r => r.response.write('home'), '/help': r => r.response.write('help') }); svr.start();

より複雑なルーティングのカスタマイズが必要な場合は、Routing オブジェクトを自分で作成し、必要に応じてルーティング戦略を処理できます。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
var http = require('http'); var mq = require('mq'); var app = new mq.Routing(); app.get('/', r => r.response.write('home')); app.get('/help', r => r.response.write('help')); app.post('/help', r => r.response.write('post a help.')); app.get('/home/:user', (r, user) => r.response.write('hello ' + user)); app.get('/user/:id(\\d+)', (r, id) => r.response.write('get ' + id)); app.get('/actions', { '/run': r => r.response.write('running'), '/sleep': r => r.response.write('sleeping'), '(.*)': r => r.response.write('........') }); var svr = new http.Server(8080, app); svr.start();

ルーティング オブジェクトは、設定されたルールに従ってメッセージを照合し、ルールを満たす最初のプロセッサにメッセージを配信します。後で追加されたルーティング ルールが最初に一致します。作成方法:

1 2 3 4
var routing = new mq.Routing({ "^/func1(/.*)$": func1, "^/func2(/.*)$": func2 });

正規表現によって一致した項目はメッセージの value 属性を変更し、サブ項目はメッセージの params 属性に格納されます。例えば:

1 2 3
var routing = new mq.Routing({ "^/func1(/([0-9]+)/([0-9]+)\.html)$": func1, });

メッセージ「/func1/123/456.html」と一致した後、value == "/123/456.html"、params == ["123", "456"];

一致した結果に子がない場合、value は空で、params も空です。例えば:

1 2 3
var routing = new mq.Routing({ "^/func1/[0-9]+/[0-9]+\.html$": func1, });

メッセージ「/func1/123/456.html」と一致した後、value == ""、params == [];

一致結果の第 1 レベルに複数のサブ項目がある場合、value は空で、params が第 1 レベルのサブ項目になります。例えば:

1 2 3
var routing = new mq.Routing({ "^/func1/([0-9]+)/([0-9]+)\.html$": func1, });

メッセージ「/func1/123/456.html」と一致した後、value == ""、params == ["123", "456"];

一致した結果にサブキーが 1 つだけあり、従属サブキーがない場合、value と params の両方がこのサブキーになります。例えば:

1 2 3
var routing = new mq.Routing({ "^/func1/([0-9]+)/[0-9]+\.html$": func1, });

メッセージ「/func1/123/456.html」と一致した後、value == "123"、params == ["123"];

相続関係

コンストラクタ

Routing

メッセージ ハンドラー ルーティング オブジェクトを作成する

1
new Routing(Object map = {});

呼び出しパラメータ:

  • map: オブジェクト、初期化ルーティングパラメータ

メッセージ ハンドラー ルーティング オブジェクトを作成する

1 2
new Routing(String method, Object map);

呼び出しパラメータ:

  • method: 文字列、指定しますhttpリクエストメソッド、「*」はすべてのメソッドを受け入れます
  • map: オブジェクト、初期化ルーティングパラメータ

メンバー関数

append

既存のルーティング オブジェクトからルールを追加します。追加後、元のルートはクリアされます。

1
Routing Routing.append(Routing route);

呼び出しパラメータ:

  • route: ルーティング、初期化されたルーティング オブジェクト

返される結果:

  • Routing、ルートオブジェクト自体を返します

一連のルーティング ルールを追加する

1
Routing Routing.append(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

ルーティングルールを追加する

1 2
Routing Routing.append(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

ルーティングルールを追加する

1 2 3
Routing Routing.append(String method, String pattern, Handler hdlr);

呼び出しパラメータ:

  • method: 文字列、指定しますhttpリクエストメソッド。「*」はすべてのメソッドを受け入れます。「host」は仮想ドメイン名を指定します。
  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

host

グループを追加するhttpドメイン名のルーティング ルール

1
Routing Routing.host(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpドメイン名のルーティング ルール

1 2
Routing Routing.host(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

all

すべてを受け入れるグループを追加するhttpメソッドルーティングルール

1
Routing Routing.all(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

すべてを受け入れる行を追加しますhttpメソッドルーティングルール

1 2
Routing Routing.all(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

get

GET メソッドのルーティング ルールのセットを追加する

1
Routing Routing.get(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpGET メソッドのルーティング ルール

1 2
Routing Routing.get(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

post

一連の承認を追加するhttpPOSTメソッドのルーティングルール

1
Routing Routing.post(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpPOSTメソッドのルーティングルール

1 2
Routing Routing.post(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

del

一連の承認を追加するhttpDELETE メソッドのルーティング ルール

1
Routing Routing.del(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpDELETE メソッドのルーティング ルール

1 2
Routing Routing.del(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

put

PUT メソッドのルーティング ルールのセットを追加する

1
Routing Routing.put(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpPUT メソッドのルーティング ルール

1 2
Routing Routing.put(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

patch

PATCH メソッドのルーティング ルールのセットを追加する

1
Routing Routing.patch(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpPATCH メソッドのルーティング ルール

1 2
Routing Routing.patch(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

find

FIND メソッドのルーティング ルールのセットを追加する

1
Routing Routing.find(Object map);

呼び出しパラメータ:

  • map: オブジェクト、ルーティングパラメータ

返される結果:

  • Routing、ルートオブジェクト自体を返します

承諾を追加httpFIND メソッドのルーティング ルール

1 2
Routing Routing.find(String pattern, Handler hdlr);

呼び出しパラメータ:

  • pattern: 文字列、メッセージ一致形式
  • hdlr:Handler、組み込みメッセージ プロセッサ、処理関数、チェーン処理配列、ルーティング オブジェクト、詳細を参照mq.Handler

返される結果:

  • Routing、ルートオブジェクト自体を返します

invoke

メッセージまたはオブジェクトを処理する

1
Handler Routing.invoke(object v) async;

呼び出しパラメータ:

  • v:object、処理するメッセージまたはオブジェクトを指定します

返される結果:

  • Handler、次のプロセッサに戻ります

toString

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

1
String Routing.toString();

返される結果:

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

toJSON

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

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

呼び出しパラメータ:

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

返される結果:

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