Objeto objeto integrado

Enrutamiento de objetos

Objeto de enrutamiento del controlador de mensajes

El objeto de enrutamiento es http El objeto principal del procesamiento de mensajes, el servidor coincide con la configuración de enrutamiento url Y método, y http El mensaje se reenvía 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.start();

Si necesita una personalización de enrutamiento más compleja, puede crear el objeto de enrutamiento usted mismo y procesar 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 coincide con 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 adelante se hacen coincidir 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 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", value == "/123/456.html", params == ["123", "456"];

Si el resultado coincidente no tiene hijos, 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", valor == "", params == [];

Si el resultado coincidente tiene varios subelementos en el primer nivel, el valor está vacío y params son los subelementos del 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", valor == "", params == ["123", "456"];

Si el resultado de la coincidencia tiene solo un subelemento y ningún subelemento, entonces el valor y los parámetros son ambos este subelemento. P.ej:

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

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

Herencia

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

Constructor

Routing

Crear un objeto de enrutamiento de controlador de mensajes

1
new Routing(Object map = {});

Parámetros de llamada:

  • map: Objeto, inicializar parámetros de enrutamiento

Crear un objeto de enrutamiento de controlador de mensajes

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

Parámetros de llamada:

  • method: Cadena, especificar http Método de solicitud, "*" acepta todos los métodos
  • map: Objeto, inicializar parámetros de enrutamiento

Función miembro

append

Agregue una regla de un objeto de ruta existente, la ruta original se borrará después de agregar

1
Routing Routing.append(Routing route);

Parámetros de llamada:

  • route: Routing, el objeto de enrutamiento que se ha inicializado

Devolver resultado:

  • 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

Devolver resultado:

  • 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 detalles mq.Handler

Devolver resultado:

  • 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, especificar http Mé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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

host

Agregar un grupo http Reglas de enrutamiento de nombres de dominio

1
Routing Routing.host(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http Reglas 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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

all

Agregue un grupo para aceptar todo http Reglas de enrutamiento de métodos

1
Routing Routing.all(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar uno aceptar todo http Reglas 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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

get

Agregar 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

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http GET reglas de enrutamiento de métodos

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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

post

Agregar un grupo para aceptar http Reglas de enrutamiento del método POST

1
Routing Routing.post(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http Reglas 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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

del

Agregar un grupo para aceptar http ELIMINAR reglas de enrutamiento del método

1
Routing Routing.del(Object map);

Parámetros de llamada:

  • map: Objeto, parámetros de enrutamiento

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http ELIMINAR 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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

put

Agregar 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

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http PUT reglas de enrutamiento del método

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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

patch

Agregar 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

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http Reglas 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 detalles mq.Handler

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

find

Agregar 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

Devolver resultado:

  • Routing, Devuelve el objeto de ruta en sí

Agregar una aceptación http ENCONTRAR reglas de enrutamiento de métodos

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 detalles mq.Handler

Devolver resultado:

  • 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

Devolver resultado:

  • Handler, Regrese al siguiente procesador

toString

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

1
String Routing.toString();

Devolver resultado:

  • String, Devuelve la 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

Devolver resultado:

  • Value, Devuelve un valor que contiene JSON serializable