Objet objet intégré

Routage d'objets

Objet de routage du gestionnaire de messages

L'objet de routage est l'objet principal du traitement des messages http . Le serveur fait correspondre l' url et la méthode en fonction du paramètre de routage et transmet le message http 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.run();

Si vous avez besoin d'une personnalisation de routage plus complexe, vous pouvez créer vous-même l'objet de routage et traiter la stratégie de routage si nécessaire:

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

L'objet de routage correspond au message selon les règles définies et remet le message au premier processeur qui satisfait aux 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 mis en correspondance 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", valeur == "/123/456.html", params == ["123", "456"];

Si le résultat correspondant n'a pas d'enfants, la valeur est vide et les paramètres sont vides. 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", valeur == "", params == [];

Si le résultat correspondant a plusieurs sous-éléments dans le premier niveau, la valeur est vide et params est les 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 de la correspondance n'a qu'un seul sous-élément et aucun sous-élément, la valeur et les paramètres 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", valeur == "123", params == ["123"];

Héritage

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 : String, spécifiez la méthode de requête http , "*" accepte toutes les méthodes
  • map : objet, initialiser les paramètres de routage

Fonction membre

append

Ajouter une règle à partir d'un objet d'itinéraire existant, l'itinéraire d'origine sera effacé après l'ajout

1
Routing Routing.append(Routing route);

Paramètres d'appel:

  • route : Routage, objet de routage qui a été initialisé

Résultat de retour:

  • Routing , retourne l'objet de routage 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 , retourne l'objet de routage 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 de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , renvoie l'objet de routage 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 : String, spécifiez la méthode de requête http , "*" accepte toutes les méthodes et "host" spécifie le nom de domaine virtuel
  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

host

Ajouter un ensemble de règles de routage pour les noms de domaine http

1
Routing Routing.host(Object map);

Paramètres d'appel:

  • map : objet, paramètres de routage

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

Ajouter une règle de routage qui accepte les noms de domaine http

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

all

Ajoutez un ensemble de règles de routage acceptant toutes les méthodes http

1
Routing Routing.all(Object map);

Paramètres d'appel:

  • map : objet, paramètres de routage

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

Ajouter une règle de routage qui accepte toutes les méthodes http

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , renvoie l'objet de routage 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 , retourne l'objet de routage lui-même

Ajouter une règle de routage qui accepte la méthode http GET

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

post

Ajouter un ensemble de règles de routage qui acceptent la méthode http POST

1
Routing Routing.post(Object map);

Paramètres d'appel:

  • map : objet, paramètres de routage

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

Ajouter une règle de routage qui accepte la méthode http POST

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

del

Ajouter un ensemble de règles de routage qui acceptent la méthode http 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 de routage lui-même

Ajouter une règle de routage qui accepte la méthode http DELETE

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , renvoie l'objet de routage 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 de routage lui-même

Ajouter une règle de routage qui accepte la méthode http PUT

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage 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 , retourne l'objet de routage lui-même

Ajouter une règle de routage qui accepte la méthode http PATCH

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage lui-même

find

Ajouter un ensemble de règles de routage de la 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 de routage lui-même

Ajouter une règle de routage qui accepte la méthode http FIND

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

Paramètres d'appel:

  • pattern : chaîne, format de correspondance de message
  • hdlr : Handler , intégré dans le gestionnaire de messages, la fonction de traitement, réseau de traitement de la chaîne, un objet d' acheminement, voir mq.Handler détails

Résultat de retour:

  • Routing , retourne l'objet de routage 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 "[Native Object]", 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ée

Résultat de retour:

  • Value , renvoie une valeur contenant JSON sérialisable