Objecte objecte incorporat

Encaminament d'objectes

Objecte d’encaminament del gestor de missatges

L’objecte d’encaminament és http L’objecte principal del processament de missatges, el servidor coincideix segons la configuració d’encaminament url I mètode, i http El missatge es reenvia al processador corresponent per completar diferents transaccions.

Es pot proporcionar una ruta senzilla directament en forma d'objecte JSON, com ara:

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 necessiteu una personalització d’encaminament més complexa, podeu crear l’objecte d’encaminament vosaltres mateixos i processar l’estratègia d’encaminament segons sigui necessari:

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

L'objecte d'enrutament coincideix amb el missatge segons les regles establertes i lliura el missatge al primer processador que compleixi les regles. Les regles d’encaminament que s’afegeixen més endavant coincideixen primer. Mètode de creació:

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

Els elements coincidents amb l'expressió regular modifiquen l'atribut de valor del missatge i els subelements s'emmagatzemen a l'atribut params del missatge. Per exemple:

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

Després de coincidir amb el missatge "/func1/123/456.html", valor == "/123/456.html", params == ["123", "456"];

Si el resultat coincident no té fills, el valor és buit i els paràmetres estan buits. Per exemple:

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

Després de coincidir amb el missatge "/func1/123/456.html", valor == "", params == [];

Si el resultat coincident té diversos subelements al primer nivell, el valor està buit i els paràmetres són els subelements del primer nivell. Per exemple:

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

Després de coincidir amb el missatge "/func1/123/456.html", valor == "", params == ["123", "456"];

Si el resultat coincident només té un subelement i no hi ha subelements, el valor i els paràmetres són aquest subelement. Per exemple:

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

Després de coincidir amb el missatge "/func1/123/456.html", valor == "123", params == ["123"];

Herència

#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

Creeu un objecte d’encaminament del gestor de missatges

1
new Routing(Object map = {});

Paràmetres de trucada:

  • map: Objecte, inicialitzeu els paràmetres d’encaminament

Creeu un objecte d’encaminament del gestor de missatges

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

Paràmetres de trucada:

  • method: Cadena, especifiqueu http Mètode de sol·licitud, "*" accepta tots els mètodes
  • map: Objecte, inicialitzeu els paràmetres d’encaminament

Funció de membre

append

Afegiu una regla a partir d'un objecte de ruta existent; la ruta original s'esborrarà després d'afegir-la

1
Routing Routing.append(Routing route);

Paràmetres de trucada:

  • route: Encaminament, l’objecte d’encaminament que s’ha inicialitzat

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu un conjunt de regles d’encaminament

1
Routing Routing.append(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una regla d’encaminament

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una regla d’encaminament

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

Paràmetres de trucada:

  • method: Cadena, especifiqueu http Mètode de sol·licitud, "*" accepta tots els mètodes, "amfitrió" especifica el nom de domini virtual
  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

host

Afegeix un grup http Regles d’encaminament de noms de domini

1
Routing Routing.host(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http Regles d’encaminament de noms de domini

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

all

Afegiu un grup per acceptar-ho tot http Regles d’encaminament de mètodes

1
Routing Routing.all(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu-ne un per acceptar-ho tot http Regles d’encaminament de mètodes

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

get

Afegiu un conjunt de regles d’encaminament del mètode GET

1
Routing Routing.get(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http Regles d’encaminament del mètode GET

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

post

Afegiu un grup per acceptar http Regles d’encaminament del mètode POST

1
Routing Routing.post(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http Regles d’encaminament del mètode POST

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

del

Afegiu un grup per acceptar http SUPRIMEIX les regles d’encaminament del mètode

1
Routing Routing.del(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http SUPRIMEIX les regles d’encaminament del mètode

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

put

Afegiu un conjunt de regles d’encaminament del mètode PUT

1
Routing Routing.put(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http Regles d’encaminament del mètode PUT

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

patch

Afegiu un conjunt de regles d’encaminament del mètode PATCH

1
Routing Routing.patch(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http Regles d’encaminament del mètode PATCH

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

find

Afegiu un conjunt de regles d’encaminament del mètode FIND

1
Routing Routing.find(Object map);

Paràmetres de trucada:

  • map: Objecte, paràmetres d’encaminament

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

Afegiu una acceptació http FIND regles d’encaminament del mètode

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

Paràmetres de trucada:

  • pattern: Cadena, format de coincidència de missatges
  • hdlr: Handler, Processador de missatges integrat, funció de processament, matriu de processament de cadena, objecte d’encaminament, veure detalls mq.Handler

Resultat de retorn:

  • Routing, Retorna l'objecte de ruta mateix

invoke

Processar un missatge o un objecte

1
Handler Routing.invoke(object v) async;

Paràmetres de trucada:

  • v: object, Especifiqueu el missatge o l'objecte a processar

Resultat de retorn:

  • Handler, Torneu al següent processador

toString

Retorna la representació de cadena de l'objecte, generalment retorna "[Objecte natiu]", l'objecte es pot tornar a implementar segons les seves pròpies característiques

1
String Routing.toString();

Resultat de retorn:

  • String, Retorna la representació de cadena de l'objecte

toJSON

Retorna la representació en format JSON de l'objecte, generalment retorna una col·lecció d'atributs llegibles definits per l'objecte

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

Paràmetres de trucada:

  • key: Cadena, sense utilitzar

Resultat de retorn:

  • Value, Retorna un valor que conté JSON serialitzable