Objekt integriertes Objekt

ObjectRouting

Routingobjekt des Nachrichtenhandlers

Das Routing-Objekt isthttpDas Kernobjekt der Nachrichtenverarbeitung ist der Server, der entsprechend den Routing-Einstellungen übereinstimmturlund Methode und WillehttpNachrichten werden an entsprechende Prozessoren weitergeleitet, um verschiedene Transaktionen abzuschließen.

Eine einfache Route kann direkt als JSON-Objekt bereitgestellt werden, wie zum Beispiel:

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

Wenn Sie eine komplexere Routing-Anpassung benötigen, können Sie selbst ein Routing-Objekt erstellen und die Routing-Strategie nach Bedarf verwalten:

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

Das Routing-Objekt gleicht die Nachricht gemäß den festgelegten Regeln ab und übermittelt die Nachricht an den ersten Prozessor, der die Regeln erfüllt. Später hinzugefügte Routingregeln werden zuerst abgeglichen. Erstellungsmethode:

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

Die mit dem regulären Ausdruck übereinstimmenden Elemente ändern das Wertattribut der Nachricht, und die Unterelemente werden im params-Attribut der Nachricht gespeichert. Zum Beispiel:

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

Nach dem Abgleich der Nachricht „/func1/123/456.html“, value == „/123/456.html“, params == [“123“, „456“];

Wenn das übereinstimmende Ergebnis keine untergeordneten Elemente hat, ist der Wert leer und die Parameter sind leer. Zum Beispiel:

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

Nach dem Abgleich der Nachricht „/func1/123/456.html“, value == „“, params == [];

Wenn das Übereinstimmungsergebnis mehrere Unterelemente auf der ersten Ebene aufweist, ist value leer und params ist das Unterelement der ersten Ebene. Zum Beispiel:

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

Nach dem Abgleich der Nachricht „/func1/123/456.html“, value == „“, params == [“123“, „456“];

Wenn das übereinstimmende Ergebnis nur einen Unterschlüssel und keine untergeordneten Unterschlüssel hat, sind sowohl der Wert als auch die Parameter dieser Unterschlüssel. Zum Beispiel:

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

Nach dem Abgleich der Nachricht „/func1/123/456.html“, value == „123“, params == [“123“];

Erbschaftsverhältnis

Konstrukteur

Routing

Erstellen Sie ein Nachrichtenhandler-Routingobjekt

1
new Routing(Object map = {});

Aufrufparameter:

  • map: Objekt, Initialisierungs-Routing-Parameter

Erstellen Sie ein Nachrichtenhandler-Routingobjekt

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

Aufrufparameter:

  • method: Zeichenfolge, angebenhttpAnforderungsmethode „*“ akzeptiert alle Methoden
  • map: Objekt, Initialisierungs-Routing-Parameter

Mitgliedsfunktion

append

Fügen Sie Regeln aus vorhandenen Routing-Objekten hinzu. Nach dem Hinzufügen werden die ursprünglichen Routen gelöscht.

1
Routing Routing.append(Routing route);

Aufrufparameter:

  • route: Routing, initialisiertes Routing-Objekt

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie einen Satz Routing-Regeln hinzu

1
Routing Routing.append(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Routing-Regel hinzu

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Routing-Regel hinzu

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

Aufrufparameter:

  • method: Zeichenfolge, angebenhttpAnforderungsmethode, „*“ akzeptiert alle Methoden, „host“ gibt den Namen der virtuellen Domäne an
  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

host

eine Gruppe hinzufügenhttpRoutingregeln für Domainnamen

1
Routing Routing.host(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRoutingregeln für Domainnamen

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

all

Fügen Sie eine Gruppe hinzu, um alle zu akzeptierenhttpMethoden-Routing-Regeln

1
Routing Routing.all(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Zeile hinzu, um alle zu akzeptierenhttpMethoden-Routing-Regeln

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

get

Fügen Sie einen Satz Routingregeln für die GET-Methode hinzu

1
Routing Routing.get(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRouting-Regeln für die GET-Methode

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

post

Fügen Sie eine Reihe von Akzeptanzen hinzuhttpRoutingregeln für die POST-Methode

1
Routing Routing.post(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRoutingregeln für die POST-Methode

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

del

Fügen Sie eine Reihe von Akzeptanzen hinzuhttpRoutingregeln für die DELETE-Methode

1
Routing Routing.del(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRoutingregeln für die DELETE-Methode

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

put

Fügen Sie einen Satz Routing-Regeln für die PUT-Methode hinzu

1
Routing Routing.put(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRouting-Regeln für die PUT-Methode

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

patch

Fügen Sie einen Satz Routingregeln für die PATCH-Methode hinzu

1
Routing Routing.patch(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRoutingregeln für die PATCH-Methode

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

find

Fügen Sie einen Satz Routingregeln für die FIND-Methode hinzu

1
Routing Routing.find(Object map);

Aufrufparameter:

  • map: Objekt, Routing-Parameter

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

Fügen Sie eine Annahme hinzuhttpRoutingregeln für die FIND-Methode

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

Aufrufparameter:

  • pattern: String, übereinstimmendes Nachrichtenformat
  • hdlr:Handler, integrierter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Detailsmq.Handler

Rückgabeergebnisse:

  • Routing, gibt das Routenobjekt selbst zurück

invoke

Verarbeiten Sie eine Nachricht oder ein Objekt

1
Handler Routing.invoke(object v) async;

Aufrufparameter:

  • v:objectGeben Sie die zu verarbeitende Nachricht oder das zu verarbeitende Objekt an

Rückgabeergebnisse:

  • Handler, kehren Sie zum nächsten Prozessor zurück

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.

1
String Routing.toString();

Rückgabeergebnisse:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält