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

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

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

ルーティングオブジェクトは、 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.run();

より複雑なルーティングのカスタマイズが必要な場合は、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.run();

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

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"と一致した後、値== "/ 123 / 456.html"、params == ["123"、 "456"];

一致する結果に子がない場合、値は空であり、paramsは空です。例えば:

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

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

一致する結果の第1レベルに複数のサブアイテムがある場合、値は空であり、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"と一致した後、値== "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 :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

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

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

呼び出しパラメーター:

  • method :文字列、 httpリクエストメソッドを指定、「*」はすべてのメソッドを受け入れ、「host」は仮想ドメイン名を指定します
  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

host

httpドメイン名のルーティングルールのセットを追加します

1
Routing Routing.host(Object map);

呼び出しパラメーター:

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

戻り結果:

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

httpドメイン名を受け入れるルーティングルールを追加します

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

all

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

1
Routing Routing.all(Object map);

呼び出しパラメーター:

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

戻り結果:

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

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

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

get

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

1
Routing Routing.get(Object map);

呼び出しパラメーター:

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

戻り結果:

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

受け入れルーティングルールの追加http GETメソッドを

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

post

受け入れるルーティングルールのセットの追加http POSTメソッドを

1
Routing Routing.post(Object map);

呼び出しパラメーター:

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

戻り結果:

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

受け入れルーティングルールの追加http POSTメソッドを

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

del

受け入れるルーティングルールのセットの追加http DELETEメソッドを

1
Routing Routing.del(Object map);

呼び出しパラメーター:

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

戻り結果:

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

受け入れルーティングルールの追加http DELETEメソッドを

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

put

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

1
Routing Routing.put(Object map);

呼び出しパラメーター:

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

戻り結果:

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

受け入れルーティングルールの追加http PUTメソッドを

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

patch

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

1
Routing Routing.patch(Object map);

呼び出しパラメーター:

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

戻り結果:

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

受け入れルーティングルールの追加http PATCHメソッドを

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

find

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

1
Routing Routing.find(Object map);

呼び出しパラメーター:

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

戻り結果:

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

受け入れルーティングルールの追加http FINDメソッドを

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

呼び出しパラメーター:

  • pattern :文字列、メッセージマッチング形式
  • hdlrHandler 、組み込みメッセージハンドラー、処理関数、チェーン処理アレイ、ルーティングオブジェクト。詳細については、 mq.Handler参照してください。

戻り結果:

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

invoke

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

1
Handler Routing.invoke(object v) async;

呼び出しパラメーター:

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

戻り結果:

  • Handler 、次のプロセッサーに戻る

toString

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

1
String Routing.toString();

戻り結果:

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

toJSON

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

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

呼び出しパラメーター:

  • key :文字列、未使用

戻り結果:

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