Node.js - Oggetto richiesta
Il req L'oggetto rappresenta la richiesta HTTP e ha proprietà per la stringa di query della richiesta, i parametri, il corpo, le intestazioni HTTP e così via.
Richiedi proprietà oggetto
Di seguito è riportato l'elenco delle poche proprietà associate all'oggetto richiesta.
Sr.No. | Proprietà e descrizione |
---|---|
1 | req.app Questa proprietà contiene un riferimento all'istanza dell'applicazione rapida che utilizza il middleware. |
2 | req.baseUrl Il percorso dell'URL su cui è stata montata un'istanza del router. |
3 | req.body Contiene coppie chiave-valore di dati inviate nel corpo della richiesta. Per impostazione predefinita, non è definito e viene popolato quando si utilizza un middleware di analisi del corpo comebody-parser |
4 | req.cookies Quando si utilizza il middleware del parser dei cookie, questa proprietà è un oggetto che contiene i cookie inviati dalla richiesta. |
5 | req.fresh Indica se la richiesta è "fresca". È l'opposto di req.stale. |
6 | req.hostname Contiene il nome host dall'intestazione HTTP "Host". |
7 | req.ip L'indirizzo IP remoto della richiesta. |
8 | req.ips Quando l'impostazione del proxy di fiducia è vera, questa proprietà contiene un array di indirizzi IP specificati nell'intestazione della richiesta "X-Forwarded-For". |
9 | req.originalUrl Questa proprietà è molto simile a req.url; tuttavia, mantiene l'URL della richiesta originale, consentendo di riscrivere req.url liberamente per scopi di instradamento interno. |
10 | req.params Un oggetto contenente proprietà mappate ai "parametri" della rotta denominata. Ad esempio, se hai route / user /: name, la proprietà "name" è disponibile come req.params.name. Il valore predefinito di questo oggetto è {}. |
11 | req.path Contiene la parte del percorso dell'URL della richiesta. |
12 | req.protocol La stringa del protocollo di richiesta, "http" o "https" quando richiesto con TLS. |
13 | req.query Un oggetto contenente una proprietà per ogni parametro della stringa di query nella route. |
14 | req.route La rotta correntemente abbinata, una stringa. |
15 | req.secure Un valore booleano che è vero se viene stabilita una connessione TLS. |
16 | req.signedCookies Quando si utilizza il middleware del parser dei cookie, questa proprietà contiene i cookie firmati inviati dalla richiesta, non firmati e pronti per l'uso. |
17 | req.stale Indica se la richiesta è "obsoleta" ed è l'opposto di req.fresh. |
18 | req.subdomains Un array di sottodomini nel nome di dominio della richiesta. |
19 | req.xhr Un valore booleano che è vero se il campo dell'intestazione "X-Requested-With" della richiesta è "XMLHttpRequest", a indicare che la richiesta è stata emessa da una libreria client come jQuery. |
Richiedi metodi oggetto
req.accepts (tipi)
req.accepts(types)
Questo metodo controlla se i tipi di contenuto specificati sono accettabili, in base al campo dell'intestazione HTTP Accetta della richiesta. Di seguito sono riportati alcuni esempi:
// Accept: text/html
req.accepts('html');
// => "html"
// Accept: text/*, application/json
req.accepts('html');
// => "html"
req.accepts('text/html');
// => "text/html"
req.get (campo)
req.get(field)
Questo metodo restituisce il campo dell'intestazione della richiesta HTTP specificato. Di seguito sono riportati alcuni esempi:
req.get('Content-Type');
// => "text/plain"
req.get('content-type');
// => "text/plain"
req.get('Something');
// => undefined
req.is (tipo)
req.is(type)
Questo metodo restituisce true se il campo dell'intestazione HTTP "Content-Type" della richiesta in arrivo corrisponde al tipo MIME specificato dal parametro type. Di seguito sono riportati alcuni esempi:
// With Content-Type: text/html; charset=utf-8
req.is('html');
req.is('text/html');
req.is('text/*');
// => true
req.param (nome [, defaultValue])
req.param(name [, defaultValue])
Questo metodo restituisce il valore del nome del parametro quando presente. Di seguito sono riportati alcuni esempi:
// ?name=tobi
req.param('name')
// => "tobi"
// POST name=tobi
req.param('name')
// => "tobi"
// /user/tobi for /user/:name
req.param('name')
// => "tobi"