Obxecto incorporado

Enrutamento de obxectos

Obxecto de encamiñamento do controlador de mensaxes

O obxecto de enrutamento é http O obxecto principal do procesamento de mensaxes, o servidor coincide segundo a configuración de enrutamento url E método, e http A mensaxe reenvíase ao procesador correspondente para completar diferentes transaccións.

Pódese proporcionar unha ruta sinxela directamente en forma de obxecto JSON, como:

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();

Se precisa unha personalización de enrutamento máis complexa, pode crear vostede mesmo o obxecto de enrutamento e procesar a estratexia de enrutamento segundo sexa necesario:

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();

O obxecto de enrutamento coincide coa mensaxe segundo as regras establecidas e entrega a mensaxe ao primeiro procesador que cumpra as regras. As regras de enrutamento engadidas posteriormente coinciden primeiro. Método de creación:

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

Os elementos coincidentes coa expresión regular modifican o atributo de valor da mensaxe e os subelementos almacénanse no atributo params da mensaxe. Por exemplo:

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

Despois de coincidir coa mensaxe "/func1/123/456.html", valor == "/123/456.html", params == ["123", "456"];

Se o resultado coincidente non ten fillos, o valor está baleiro e os parámetros están baleiros. Por exemplo:

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

Despois de coincidir coa mensaxe "/func1/123/456.html", valor == "", params == [];

Se o resultado coincidente ten varios subelementos no primeiro nivel, o valor está baleiro e os parámetros son os subelementos do primeiro nivel. Por exemplo:

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

Despois de coincidir coa mensaxe "/func1/123/456.html", valor == "", params == ["123", "456"];

Se o resultado coincidente só ten un subelemento e non hai subelementos, entón o valor e os parámetros son este subelemento. Por exemplo:

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

Despois de coincidir coa mensaxe "/func1/123/456.html", valor == "123", params == ["123"];

Herdanza

#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()

Construtor

Routing

Crea un obxecto de encamiñamento do controlador de mensaxes

1
new Routing(Object map = {});

Parámetros de chamada:

  • map: Obxectiva, inicializa os parámetros de enrutamento

Crea un obxecto de encamiñamento do controlador de mensaxes

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

Parámetros de chamada:

  • method: Cadea, especificar http Método de solicitude, "*" acepta todos os métodos
  • map: Obxectiva, inicializa os parámetros de enrutamento

Función de membro

append

Engade unha regra desde un obxecto de ruta existente, a ruta orixinal borrarase despois de engadila

1
Routing Routing.append(Routing route);

Parámetros de chamada:

  • route: Enrutamento, o obxecto de enrutamento que se inicializou

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade un conxunto de regras de enrutamento

1
Routing Routing.append(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha regra de enrutamento

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha regra de enrutamento

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

Parámetros de chamada:

  • method: Cadea, especificar http Método de solicitude, "*" acepta todos os métodos, "host" especifica o nome de dominio virtual
  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

host

Engade un grupo http Regras de enrutamento de nomes de dominio

1
Routing Routing.host(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http Regras de enrutamento de nomes de dominio

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

all

Engade un grupo para aceptalo todo http Regras de enrutamento de métodos

1
Routing Routing.all(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade un aceptar todo http Regras de enrutamento de métodos

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

get

Engade un conxunto de regras de enrutamento do método GET

1
Routing Routing.get(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http Regras de enrutamento do método GET

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

post

Engade un grupo para aceptalo http Regras de enrutamento do método POST

1
Routing Routing.post(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http Regras de enrutamento do método POST

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

del

Engade un grupo para aceptalo http ELIMINA as regras de enrutamento do método

1
Routing Routing.del(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http ELIMINA as regras de enrutamento do método

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

put

Engade un conxunto de regras de enrutamento do método PUT

1
Routing Routing.put(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http Regras de enrutamento do método PUT

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

patch

Engade un conxunto de regras de enrutamento do método PATCH

1
Routing Routing.patch(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http Regras de enrutamento do método PATCH

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

find

Engade un conxunto de regras de enrutamento do método FIND

1
Routing Routing.find(Object map);

Parámetros de chamada:

  • map: Obxecto, parámetros de enrutamento

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

Engade unha aceptación http FIND regras de enrutamento do método

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

Parámetros de chamada:

  • pattern: Cadea, formato de correspondencia de mensaxes
  • hdlr: Handler, Procesador de mensaxes incorporado, función de procesamento, matriz de procesamento de cadeas, obxecto de enrutamento, ver detalles mq.Handler

Resultado de volta:

  • Routing, Devolve o propio obxecto de ruta

invoke

Procesa unha mensaxe ou obxecto

1
Handler Routing.invoke(object v) async;

Parámetros de chamada:

  • v: object, Especifique a mensaxe ou o obxecto a procesar

Resultado de volta:

  • Handler, Volver ao seguinte procesador

toString

Devolve a representación de cadea do obxecto, xeralmente devolve "[Obxecto nativo]", o obxecto pode reimplementarse segundo as súas propias características

1
String Routing.toString();

Resultado de volta:

  • String, Devolve a representación de cadea do obxecto

toJSON

Devolve a representación en formato JSON do obxecto, xeralmente devolve unha colección de atributos lexibles definidos polo obxecto

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

Parámetros de chamada:

  • key: Cadea, sen usar

Resultado de volta:

  • Value, Devolve un valor que contén JSON serializable