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
8var 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
22var 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
4var 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
3var 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
3var 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
3var 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
3var 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
Constructor
Routing
Creeu un objecte d’encaminament del gestor de missatges
1new 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
2new 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
1Routing 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
1Routing 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
2Routing 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
3Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Routing 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
2Routing 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
1Handler 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
1String 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
1Value Routing.toJSON(String key = "");
Paràmetres de trucada:
- key: Cadena, sense utilitzar
Resultat de retorn:
- Value, Retorna un valor que conté JSON serialitzable