Objeto objeto incorporado

Enrutamiento de objetos

Objeto de enrutamiento del procesador de mensajes

El objeto de enrutamiento es el objeto central del procesamiento de mensajes http . El servidor coincide con la url y el método de acuerdo con la configuración de enrutamiento, y reenvía el mensaje http al procesador correspondiente para completar diferentes transacciones.

Se puede proporcionar una ruta simple directamente en forma de un objeto 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.run();

Si necesita una personalización de enrutamiento más compleja, puede crear un objeto de Enrutamiento usted mismo y manejar las estrategias de enrutamiento según sea 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.run();

El objeto de enrutamiento coincide con el mensaje de acuerdo con las reglas establecidas y pasa el mensaje al primer procesador que cumple con las reglas. Las reglas de enrutamiento que se agregan más tarde se corresponden primero. Como crear:

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

Los elementos que coinciden con expresiones regulares modifican el atributo de valor del mensaje y los subelementos se almacenan en el atributo params del mensaje. P.ej:

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

Después de hacer coincidir el mensaje "/func1/123/456.html", valor == "/123/456.html", params == ["123", "456"];

Si el resultado coincidente no tiene hijos, entonces el valor está vacío y params está vacío. P.ej:

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

Después de hacer coincidir el mensaje "/func1/123/456.html", value == "", params == [];

Si el resultado coincidente tiene múltiples subelementos en el primer nivel, el valor está vacío y params es el subelemento de primer nivel. P.ej:

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

Después de hacer coincidir el mensaje "/func1/123/456.html", value == "", params == ["123", "456"];

Si el resultado coincidente tiene solo un subelemento y ningún subelemento, tanto el valor como los parámetros son este subelemento. P.ej:

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

Después de hacer coincidir el mensaje "/func1/123/456.html", valor == "123", params == ["123"];

Herencia

Constructor

Routing

Crear un objeto de enrutamiento del procesador de mensajes

1
new Routing(Object map = {});

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento iniciales

Crear un objeto de enrutamiento del procesador de mensajes

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

Parámetros de llamada:

  • method : String, especifica el método de solicitud http , "*" acepta todos los métodos
  • map : objeto, parámetros de enrutamiento iniciales

Función miembro

append

Agregue reglas de objetos de enrutamiento existentes, la ruta original se borrará después de agregar

1
Routing Routing.append(Routing route);

Parámetros de llamada:

  • route : Enrutamiento, el objeto de enrutamiento inicializado

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregar un conjunto de reglas de enrutamiento

1
Routing Routing.append(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregar una regla de enrutamiento

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregar una regla de enrutamiento

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

Parámetros de llamada:

  • method : cadena, especifica el método de solicitud http , "*" acepta todos los métodos, "host" especifica el nombre de dominio virtual
  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

host

Agregue un conjunto de reglas de enrutamiento para nombres de dominio http

1
Routing Routing.host(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte nombres de dominio http

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

all

Agregue un conjunto de reglas de enrutamiento que acepten todos los métodos http

1
Routing Routing.all(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte todos los métodos http

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

get

Agregue un conjunto de reglas de enrutamiento del método GET

1
Routing Routing.get(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte el método http GET

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

post

Agregue un conjunto de reglas de enrutamiento que acepten el método http POST

1
Routing Routing.post(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte el método http POST

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

del

Agregue un conjunto de reglas de enrutamiento que acepten el método http DELETE

1
Routing Routing.del(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte el método http DELETE

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

put

Agregue un conjunto de reglas de enrutamiento del método PUT

1
Routing Routing.put(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte el método http PUT

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

patch

Agregue un conjunto de reglas de enrutamiento del método PATCH

1
Routing Routing.patch(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte el método http PATCH

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

find

Agregue un conjunto de reglas de enrutamiento del método FIND

1
Routing Routing.find(Object map);

Parámetros de llamada:

  • map : objeto, parámetros de enrutamiento

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

Agregue una regla de enrutamiento que acepte el método http FIND

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

Parámetros de llamada:

  • pattern : cadena, formato de coincidencia de mensajes
  • hdlr : Handler , integrado en el procesador de mensajes, la función de procesamiento, matriz de procesamiento de cadenas, objeto de enrutamiento, consulte mq.Handler detalles

Resultado devuelto:

  • Routing , devuelve el objeto de enrutamiento en sí

invoke

Manejar un mensaje u objeto

1
Handler Routing.invoke(object v) async;

Parámetros de llamada:

  • v : object , especifique el mensaje u objeto a procesar

Resultado devuelto:

  • Handler , regrese al siguiente procesador

toString

Devuelve la representación de cadena del objeto, generalmente devuelve "[Objeto nativo]", el objeto se puede volver a implementar de acuerdo con sus propias características

1
String Routing.toString();

Resultado devuelto:

  • String , devuelve una representación de cadena del objeto

toJSON

Devuelve la representación en formato JSON del objeto, generalmente devuelve una colección de atributos legibles definidos por el objeto

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

Parámetros de llamada:

  • key : cadena, sin usar

Resultado devuelto:

  • Value , devuelve un valor que contiene JSON serializable