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"