Objeto incorporado

Enrutamiento de objetos

Objeto de enrutamiento del controlador de mensajes

El objeto de enrutamiento eshttpEl objeto principal del procesamiento de mensajes es que el servidor coincide según la configuración de enrutamiento.urly método, y voluntadhttpLos mensajes se reenvían a los procesadores correspondientes para completar diferentes transacciones.

Se puede proporcionar una ruta simple directamente como un objeto JSON, como por ejemplo:

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

Si necesita una personalización de enrutamiento más compleja, puede crear un objeto de enrutamiento usted mismo y manejar la estrategia 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.start();

El objeto de enrutamiento hace coincidir el mensaje de acuerdo con las reglas establecidas y entrega el mensaje al primer procesador que cumple las reglas. Las reglas de enrutamiento agregadas más tarde coincidirán primero. Método de creación:

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

Los elementos que coinciden con la expresión regular modifican el atributo de valor del mensaje y los subelementos se almacenan en el atributo de parámetros del mensaje. Por ejemplo:

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 == "/123/456.html", params == ["123", "456"];

Si el resultado coincidente no tiene hijos, el valor está vacío y los parámetros están vacíos. Por ejemplo:

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 varios subelementos en el primer nivel, el valor está vacío y params es el subelemento del primer nivel. Por ejemplo:

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 una subclave y ninguna subclave subordinada, tanto el valor como los parámetros son esta subclave. Por ejemplo:

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 == "123", params == ["123"];

relación de herencia

Constructor

Routing

Crear un objeto de enrutamiento del controlador de mensajes

1
new Routing(Object map = {});

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento de inicialización

Crear un objeto de enrutamiento del controlador de mensajes

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

Parámetros de llamada:

  • method: Cadena, especifiquehttpMétodo de solicitud, "*" acepta todos los métodos
  • map: Objeto, parámetros de enrutamiento de inicialización

función miembro

append

Agregue reglas de objetos de ruta existentes. Después de agregarlas, las rutas originales se borrarán.

1
Routing Routing.append(Routing route);

Parámetros de llamada:

  • route: Enrutamiento, objeto de enrutamiento inicializado

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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, especifiquehttpMétodo de solicitud, "*" acepta todos los métodos, "host" especifica el nombre de dominio virtual
  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

host

agregar un grupohttpReglas de enrutamiento de nombres de dominio

1
Routing Routing.host(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpReglas de enrutamiento de nombres de dominio

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

all

Añade un grupo para aceptar todohttpReglas de enrutamiento de métodos

1
Routing Routing.all(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añade una línea para aceptar todohttpReglas de enrutamiento de métodos

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpGET reglas de enrutamiento del método

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

post

Agregar un conjunto de aceptahttpReglas de enrutamiento del método POST

1
Routing Routing.post(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpReglas de enrutamiento del método POST

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

del

Agregar un conjunto de aceptahttpDELETE reglas de enrutamiento del método

1
Routing Routing.del(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpDELETE reglas de enrutamiento del método

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpReglas de enrutamiento del método PUT

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpReglas de enrutamiento del método PATCH

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta 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

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

Añadir una aceptaciónhttpENCONTRAR reglas de enrutamiento del método

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

Parámetros de llamada:

  • pattern: Cadena, formato de coincidencia de mensajes
  • hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler

Resultados de devolución:

  • Routing, devuelve el objeto de ruta en sí

invoke

Procesar un mensaje u objeto

1
Handler Routing.invoke(object v) async;

Parámetros de llamada:

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

Resultados de devolución:

  • Handler, volver al siguiente procesador

toString

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

1
String Routing.toString();

Resultados de devolución:

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

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable