Objet objet intégré

ObjetRoutage

Objet de routage du gestionnaire de messages

L'objet de routage esthttpObjet central du traitement des messages, le serveur correspond en fonction des paramètres de routageurlet la méthode, ethttpLes messages sont transmis aux processeurs correspondants pour effectuer différentes transactions.

Un itinéraire simple peut être fourni directement sous forme d'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 un objet Routage et gérer 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 fait correspondre le message selon les règles définies et transmet le message au premier processeur qui respecte les règles. Les règles de routage ajoutées ultérieurement seront 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 correspondant à 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, 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", value == "", params == [];

Si le résultat correspondant comporte plusieurs sous-éléments au premier niveau, value est vide et params est le sous-élément 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'une seule sous-clé et aucune sous-clé subordonnée, la valeur et les paramètres sont cette sous-clé. 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"];

relation d'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, paramètres de routage d'initialisation

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, précisezhttpMéthode de requête, "*" accepte toutes les méthodes
  • map: Objet, paramètres de routage d'initialisation

fonction membre

append

Ajoutez des règles à partir d'objets de routage existants. Après l'ajout, les itinéraires d'origine seront effacés.

1
Routing Routing.append(Routing route);

Paramètres d'appel :

  • route: Routage, objet de routage initialisé

Résultats 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ésultats 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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats 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, précisezhttpMéthode de requête, "*" accepte toutes les méthodes, "host" précise le nom de domaine virtuel
  • pattern: Chaîne, format de correspondance de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

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

host

ajouter un groupehttpRègles de routage des noms de domaine

1
Routing Routing.host(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

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

all

Ajouter un groupe pour tout accepterhttpRègles de routage des méthodes

1
Routing Routing.all(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultats de retour :

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

Ajoutez une ligne pour tout accepterhttpRègles de routage des méthodes

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

Paramètres d'appel :

  • pattern: Chaîne, format de correspondance de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats 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ésultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

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

post

Ajouter un ensemble d'acceptationshttpRè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ésultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

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

del

Ajouter un ensemble d'acceptationshttpRè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ésultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

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

put

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

1
Routing Routing.put(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

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

patch

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

1
Routing Routing.patch(Object map);

Paramètres d'appel :

  • map: Objet, paramètres de routage

Résultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats de retour :

  • Routing, renvoie l'objet route 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ésultats de retour :

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

Ajouter une acceptationhttpRè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 de message
  • hdlr:Handler, processeur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir les détailsmq.Handler

Résultats 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, précisez le message ou l'objet à traiter

Résultats de retour :

  • Handler, retour au processeur suivant

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String Routing.toString();

Résultats de retour :

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

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

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

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable