Объект встроенный объект

Маршрутизация объекта

Объект маршрутизации обработчика сообщений

Объект маршрутизации 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 });

Элементы, соответствующие регулярному выражению, изменяют атрибут значения сообщения, а вложенные элементы сохраняются в атрибуте 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"];

Если результат сопоставления не имеет дочерних элементов, значение пусто, а параметры пустые. Например:

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

После сопоставления сообщения "/func1/123/456.html", value == "", params == [];

Если результат сопоставления имеет несколько подэлементов на первом уровне, значение пусто, а params - это подэлементы первого уровня. Например:

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

После сопоставления сообщения "/func1/123/456.html", value == "", params == ["123", "456"];

Если в результате сопоставления есть только один подпункт и нет подпунктов, тогда оба значения и параметры являются этим подпунктом. Например:

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

После сопоставления сообщения "/func1/123/456.html", значение == "123", params == ["123"];

Наследование

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Handler|new Handler()|invoke()] [<this>Routing|new Routing()|append();host();all();get();post();del();put();patch();find()] [object] <:- [Handler] [Handler] <:- [Routing] Handler new Handler() invoke() Routing new Routing() append() host() all() get() post() del() put() patch() find() object toString() toJSON()

Конструктор

Routing

Создайте объект маршрутизации обработчика сообщений

1
new Routing(Object map = {});

Параметры звонка:

  • map: Object, инициализировать параметры маршрутизации

Создайте объект маршрутизации обработчика сообщений

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

Параметры звонка:

  • method: String, укажите http Метод запроса, "*" принимает все методы
  • map: Object, инициализировать параметры маршрутизации

Функция члена

append

Добавьте правило из существующего объекта маршрута, исходный маршрут будет очищен после добавления

1
Routing Routing.append(Routing route);

Параметры звонка:

  • route: Routing, инициализированный объект маршрутизации.

Результат возврата:

  • 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: String, укажите http Метод запроса, «*» принимает все методы, «хост» указывает виртуальное доменное имя.
  • 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, Верните сам объект маршрута

Добавить акцепт http Правила маршрутизации метода GET

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

Параметры звонка:

  • pattern: Строка, формат сопоставления сообщений
  • hdlr: Handler, Встроенный процессор сообщений, функция обработки, массив цепочки обработки, объект маршрутизации, см. Подробности 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: Строка, формат сопоставления сообщений
  • hdlr: Handler, Встроенный процессор сообщений, функция обработки, массив цепочки обработки, объект маршрутизации, см. Подробности 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: Строка, формат сопоставления сообщений
  • hdlr: Handler, Встроенный процессор сообщений, функция обработки, массив цепочки обработки, объект маршрутизации, см. Подробности 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: Строка, формат сопоставления сообщений
  • hdlr: Handler, Встроенный процессор сообщений, функция обработки, массив цепочки обработки, объект маршрутизации, см. Подробности 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: Строка, формат сопоставления сообщений
  • hdlr: Handler, Встроенный процессор сообщений, функция обработки, массив цепочки обработки, объект маршрутизации, см. Подробности 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: Строка, формат сопоставления сообщений
  • 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