Objet objet intégré

Routage d'objets

Objet de routage du gestionnaire de messages

L'objet de routage est http Objet central du traitement des messages, le serveur correspond en fonction du paramètre de routage url Et la méthode, et http Le message est transmis au processeur correspondant pour effectuer différentes transactions.

Une route simple peut être fournie directement sous la forme d'un objet JSON, tel que :

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 vous avez besoin d'une personnalisation de routage plus complexe, vous pouvez créer vous-même l'objet Routage et traiter la stratégie de routage selon vos besoins :

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'objet de routage correspond au message selon les règles définies et délivre le message au premier processeur qui respecte les règles. Les règles de routage ajoutées ultérieurement sont mises en correspondance en premier. Méthode de création :

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

Les éléments appariés par l'expression régulière modifient l'attribut value du message, et les sous-éléments sont stockés dans l'attribut params du message. Par exemple:

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

Après avoir fait correspondre le message "/func1/123/456.html", value == "/123/456.html", params == ["123", "456"];

Si le résultat correspondant n'a pas d'enfant, value est vide et params est vide. Par exemple:

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

Après avoir fait correspondre le message "/func1/123/456.html", value == "", params == [];

Si le résultat correspondant a plusieurs sous-éléments au premier niveau, la valeur est vide et params correspond aux sous-éléments de premier niveau. Par exemple:

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

Après avoir fait correspondre le message "/func1/123/456.html", value == "", params == ["123", "456"];

Si le résultat correspondant n'a qu'un seul sous-élément et aucun sous-élément, alors value et params sont tous deux ce sous-élément. Par exemple:

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

Après avoir fait correspondre le message "/func1/123/456.html", value == "123", params == ["123"];

Héritage

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

Constructeur

Routing

Créer un objet de routage de gestionnaire de messages

1
new Routing(Object map = {});

Paramètres d'appel :

  • map: Objet, initialiser les paramètres de routage

Créer un objet de routage de gestionnaire de messages

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

Paramètres d'appel :

  • method: chaîne, spécifiez http Méthode de requête, "*" accepte toutes les méthodes
  • map: Objet, initialiser les paramètres de routage

Fonction membre

append

Ajoutez une règle à partir d'un objet de route existant, la route d'origine sera effacée après l'ajout

1
Routing Routing.append(Routing route);

Paramètres d'appel :

  • route: Routing, l'objet de routage qui a été initialisé

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter un ensemble de règles de routage

1
Routing Routing.append(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une règle de routage

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une règle de routage

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

Paramètres d'appel :

  • method: chaîne, spécifiez http Méthode de requête, "*" accepte toutes les méthodes, "hôte" spécifie le nom de domaine virtuel
  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

host

Ajouter un groupe http Règles de routage des noms de domaine

1
Routing Routing.host(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage des noms de domaine

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

all

Ajouter un groupe pour tout accepter http Règles de routage de méthode

1
Routing Routing.all(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter un accepter tout http Règles de routage de méthode

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

get

Ajouter un ensemble de règles de routage de méthode GET

1
Routing Routing.get(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage de la méthode GET

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

post

Ajouter un groupe à accepter http Règles de routage de la méthode POST

1
Routing Routing.post(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage de la méthode POST

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

del

Ajouter un groupe à accepter http Règles de routage de la méthode DELETE

1
Routing Routing.del(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage de la méthode DELETE

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

put

Ajouter un ensemble de règles de routage de méthode PUT

1
Routing Routing.put(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage de la méthode PUT

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

patch

Ajouter un ensemble de règles de routage de méthode PATCH

1
Routing Routing.patch(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage de la méthode PATCH

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

find

Ajouter un ensemble de règles de routage de méthode FIND

1
Routing Routing.find(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

Ajouter une acceptation http Règles de routage de la méthode FIND

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

Paramètres d'appel :

  • pattern: chaîne, format de correspondance du message
  • hdlr: Handler, Processeur de message intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détails mq.Handler

Résultat de retour :

  • Routing, Renvoie l'objet route lui-même

invoke

Traiter un message ou un objet

1
Handler Routing.invoke(object v) async;

Paramètres d'appel :

  • v: object, Spécifiez le message ou l'objet à traiter

Résultat de retour :

  • Handler, Retour au processeur suivant

toString

Renvoie la représentation sous forme de chaîne de l'objet, renvoie généralement "[Objet natif]", l'objet peut être ré-implémenté selon ses propres caractéristiques

1
String Routing.toString();

Résultat de retour :

  • String, Renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie la représentation au format JSON de l'objet, renvoie généralement une collection d'attributs lisibles définis par l'objet

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

Paramètres d'appel :

  • key: chaîne, inutilisé

Résultat de retour :

  • Value, Renvoie une valeur contenant JSON sérialisable