Oggetto oggetto incorporato

Instradamento degli oggetti

oggetto di instradamento del gestore messaggi

L'oggetto del percorso èhttpL'oggetto principale dell'elaborazione dei messaggi, il server corrisponde in base alle impostazioni di routingurle metodo e volontàhttpI messaggi vengono inoltrati ai responsabili del trattamento corrispondenti per completare le diverse transazioni.

Un semplice percorso può essere fornito direttamente come oggetto JSON, come:

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

Se hai bisogno di una personalizzazione del routing più complessa, puoi creare il tuo oggetto Routing e gestire le strategie di routing secondo necessità:

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'oggetto di routing abbina i messaggi in base alle regole impostate e passa il messaggio al primo processore che soddisfa le regole. Le regole di instradamento aggiunte in seguito vengono confrontate per prime. Crea metodo:

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

L'elemento corrispondente all'espressione regolare modifica l'attributo value del messaggio e l'elemento secondario viene archiviato nell'attributo params del messaggio. Per esempio:

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

Dopo aver abbinato il messaggio "/func1/123/456.html", value == "/123/456.html", params == ["123", "456"];

Se il risultato della corrispondenza non ha figli, value è vuoto e params è vuoto. Per esempio:

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

Dopo aver abbinato il messaggio "/func1/123/456.html", value == "", params == [];

Se il risultato abbinato ha più figli al primo livello, value è vuoto e params è il figlio di primo livello. Per esempio:

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

Dopo aver abbinato il messaggio "/func1/123/456.html", value == "", params == ["123", "456"];

Se il risultato della corrispondenza ha un solo figlio e nessun figlio subordinato, sia il valore che i parametri sono questo figlio. Per esempio:

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

Dopo aver abbinato il messaggio "/func1/123/456.html", value == "123", params == ["123"];

rapporto di eredità

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

Costruttore

Routing

Crea un oggetto di instradamento del gestore messaggi

1
new Routing(Object map = {});

Parametri di chiamata:

  • map: Oggetto, inizializza i parametri del percorso

Crea un oggetto di instradamento del gestore messaggi

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

Parametri di chiamata:

  • method: stringa, specificatahttpmetodo di richiesta, "*" accetta tutti i metodi
  • map: Oggetto, inizializza i parametri del percorso

funzione membro

append

Aggiungi una regola da un oggetto percorso esistente, il percorso originale verrà cancellato dopo l'aggiunta

1
Routing Routing.append(Routing route);

Parametri di chiamata:

  • route: Routing, l'oggetto del percorso che è stato inizializzato

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

Aggiungi una serie di regole di instradamento

1
Routing Routing.append(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

Aggiungi una regola di instradamento

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

Aggiungi una regola di instradamento

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

Parametri di chiamata:

  • method: stringa, specificatahttpMetodo di richiesta, "*" accetta tutti i metodi, "host" specifica il nome di dominio virtuale
  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

host

aggiungi un gruppohttpRegole di instradamento per i nomi di dominio

1
Routing Routing.host(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpRegole di instradamento per i nomi di dominio

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

all

Aggiungi un gruppo per accettare tuttohttpregole di instradamento del metodo

1
Routing Routing.all(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungi un accetta tuttohttpregole di instradamento del metodo

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

get

Aggiungi una serie di regole di instradamento del metodo GET

1
Routing Routing.get(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpRegole di instradamento del metodo GET

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

post

Aggiungi una serie di accettahttpRegole di instradamento del metodo POST

1
Routing Routing.post(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpRegole di instradamento del metodo POST

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

del

Aggiungi una serie di accettahttpDELETE regole di instradamento del metodo

1
Routing Routing.del(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpDELETE regole di instradamento del metodo

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

put

Aggiungi una serie di regole di instradamento del metodo PUT

1
Routing Routing.put(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpRegole di instradamento del metodo PUT

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

patch

Aggiungi una serie di regole di instradamento del metodo PATCH

1
Routing Routing.patch(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpRegole di instradamento del metodo PATCH

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

find

Aggiungi una serie di regole di instradamento del metodo FIND

1
Routing Routing.find(Object map);

Parametri di chiamata:

  • map: Oggetto, parametro del percorso

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

aggiungere un'accettazionehttpTROVA le regole di instradamento del metodo

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

Parametri di chiamata:

  • pattern: stringa, formato di corrispondenza del messaggio
  • hdlr:Handler, gestori di messaggi integrati, funzioni di gestione, array di elaborazione concatenati, oggetti di routing, vedere i dettaglimq.Handler

Risultato di ritorno:

  • Routing, restituisce l'oggetto percorso stesso

invoke

gestire un messaggio o un oggetto

1
Handler Routing.invoke(object v) async;

Parametri di chiamata:

  • v:object, specifica il messaggio o l'oggetto da elaborare

Risultato di ritorno:

  • Handler, torna al gestore successivo

toString

Restituisce la rappresentazione in stringa dell'oggetto, generalmente restituisce "[Native Object]", l'oggetto può essere reimplementato secondo le proprie caratteristiche

1
String Routing.toString();

Risultato di ritorno:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce la rappresentazione in formato JSON dell'oggetto, generalmente restituisce l'insieme di proprietà leggibili definite dall'oggetto

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultato di ritorno:

  • Value, restituisce un valore contenente JSON serializzabile