ObjectHttpRequest
HttpRequest è una classe utilizzata per gestire le richieste HTTP. Ti consente di creare richieste HTTP e interagire con il server. Puoi usarlo per inviare GET, POST e altri tipi di richieste HTTP al server web
Supponiamo di avere un parametro di query con il nome chiave e di restituire risultati di elaborazione diversi in base a questo parametro: se il parametro è vuoto, restituisce "Hello world!"; se il parametro è "fibjs", restituisce "Hello fibjs!"; altrimenti restituisci "Ciao a qualcuno!".
Il codice è implementato come segue:
1
2
3
4
5
6
7
8
9
10const http = require('http');
var svr = new http.Server(8080, (req) => {
var name = req.query.get('name');
var msg = name ? `Hello ${name}!` : 'Hello world!';
req.response.write(msg);
});
svr.start();
Qui utilizziamo req.query
questo tipo di raccolta, che rappresenta i parametri di query nell'URL della richiesta HTTP.
Accediamo a http://127.0.0.1:8080/?name=fibjs tramite il browser al programma di servizio e otteniamo il contenuto della risposta del server Hello fibjs!
.
rapporto ereditario
Costruttore
HttpRequest
Costruttore HttpRequest, crea un nuovo oggetto HttpRequest
1new HttpRequest();
costante
TEXT
Specificare il tipo di messaggio 1, che rappresenta un tipo di testo
1const HttpRequest.TEXT = 1;
BINARY
Specificare il tipo di messaggio 2, che rappresenta un tipo binario
1const HttpRequest.BINARY = 2;
proprietà dei membri
response
HttpResponse, Ottieni l'oggetto del messaggio di risposta
1readonly HttpResponse HttpRequest.response;
method
Metodi di stringa, query e set request
1String HttpRequest.method;
address
Stringa, interroga e imposta l'indirizzo di richiesta
1String HttpRequest.address;
queryString
Stringa, interroga e imposta la stringa di query della richiesta
1String HttpRequest.queryString;
cookies
HttpCollection, ottieni il contenitore contenente i cookie dei messaggi
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection, ottieni il contenitore contenente il modulo del messaggio
1readonly HttpCollection HttpRequest.form;
query
HttpCollection, ottieni il contenitore contenente la query del messaggio
1readonly HttpCollection HttpRequest.query;
protocol
Stringa, informazioni sulla versione del protocollo, il formato consentito è: HTTP/#.#
1String HttpRequest.protocol;
headers
HttpCollection, incluso nel messaggiohttpContenitore per intestazioni di messaggio, proprietà di sola lettura
1readonly HttpCollection HttpRequest.headers;
keepAlive
Booleano, interroga e imposta se mantenere la connessione
1Boolean HttpRequest.keepAlive;
upgrade
Booleano, interroga e imposta se si tratta di un protocollo di aggiornamento
1Boolean HttpRequest.upgrade;
maxHeadersCount
Intero, interroga e imposta il numero massimo di intestazioni di richiesta, il valore predefinito è 128
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
Intero, interroga e imposta la lunghezza massima dell'intestazione della richiesta, il valore predefinito è 8192
1Integer HttpRequest.maxHeaderSize;
maxBodySize
Intero, interroga e imposta la dimensione massima del corpo in MB, il valore predefinito è 64
1Integer HttpRequest.maxBodySize;
socket
Stream, Interroga il socket di origine dell'oggetto corrente
1readonly Stream HttpRequest.socket;
value
Stringa, il contenuto di base del messaggio
1String HttpRequest.value;
params
NArray, i parametri di base del messaggio
1readonly NArray HttpRequest.params;
type
Numero intero, tipo di messaggio
1Integer HttpRequest.type;
data
Valore, interroga i dati del messaggio. Questo attributo restituirà dati diversi a seconda del tipo di contenuto. Quando è testo, verrà restituito il testo.jsontornare quandojson, altrimenti restituisce binario
1readonly Value HttpRequest.data;
body
SeekableStream, un oggetto flusso contenente la parte dati del messaggio
1SeekableStream HttpRequest.body;
length
Long, la lunghezza della parte dei dati del messaggio
1readonly Long HttpRequest.length;
stream
Stream, l'oggetto flusso quando si interroga il messaggio readFrom
1readonly Stream HttpRequest.stream;
lastError
Stringa, interroga e imposta l'ultimo errore di elaborazione del messaggio
1String HttpRequest.lastError;
funzione membro
hasHeader
Controlla se è presente un'intestazione del messaggio con il valore della chiave specificato
1Boolean HttpRequest.hasHeader(String name);
Parametri di chiamata:
- name: String, specifica il valore della chiave da verificare
Risultati restituiti:
- Boolean, restituisce se il valore della chiave esiste
firstHeader
Interrogare la prima intestazione del messaggio del valore della chiave specificato
1String HttpRequest.firstHeader(String name);
Parametri di chiamata:
- name: String, specifica il valore della chiave da interrogare
Risultati restituiti:
- String, restituisce il valore corrispondente al valore della chiave, se non esiste, restituisce undefinito
allHeader
Interrogare tutte le intestazioni dei messaggi del valore chiave specificato
1NObject HttpRequest.allHeader(String name = "");
Parametri di chiamata:
- name: String, specifica il valore della chiave da interrogare, passa una stringa vuota per restituire i risultati di tutti i valori della chiave
Risultati restituiti:
- NObject, restituisce un array di tutti i valori corrispondenti al valore della chiave. Se i dati non esistono, restituisce null.
addHeader
Aggiungi un'intestazione del messaggio, aggiungi dati e non modificare l'intestazione del messaggio del valore della chiave esistente
1HttpRequest.addHeader(Object map);
Parametri di chiamata:
- map: Oggetto, specifica il dizionario dati chiave-valore da aggiungere
Aggiunge un set di intestazioni con il nome specificato. L'aggiunta di dati non modifica le intestazioni dei valori chiave esistenti.
1
2HttpRequest.addHeader(String name,
Array values);
Parametri di chiamata:
- name: String, specifica il valore della chiave da aggiungere
- values: Array, specifica un set di dati da aggiungere
Aggiungi un'intestazione del messaggio, aggiungi dati e non modificare l'intestazione del messaggio del valore della chiave esistente
1
2HttpRequest.addHeader(String name,
String value);
Parametri di chiamata:
- name: String, specifica il valore della chiave da aggiungere
- value: Stringa, specifica i dati da aggiungere
setHeader
Imposta un'intestazione del messaggio. L'impostazione dei dati modificherà il primo valore corrispondente al valore della chiave e cancellerà le rimanenti intestazioni del messaggio con lo stesso valore della chiave.
1HttpRequest.setHeader(Object map);
Parametri di chiamata:
- map: Oggetto, specifica il dizionario dati chiave-valore da impostare
Imposta un set di intestazioni di messaggio con il nome specificato. L'impostazione dei dati modificherà il valore corrispondente al valore della chiave e cancellerà le rimanenti intestazioni del messaggio con lo stesso valore della chiave.
1
2HttpRequest.setHeader(String name,
Array values);
Parametri di chiamata:
- name: String, specifica il valore della chiave da impostare
- values: Array, specifica un insieme di dati da impostare
Imposta un'intestazione del messaggio. L'impostazione dei dati modificherà il primo valore corrispondente al valore della chiave e cancellerà le rimanenti intestazioni del messaggio con lo stesso valore della chiave.
1
2HttpRequest.setHeader(String name,
String value);
Parametri di chiamata:
- name: String, specifica il valore della chiave da impostare
- value: Stringa, specifica i dati da impostare
removeHeader
Elimina tutte le intestazioni dei messaggi con il valore della chiave specificato
1HttpRequest.removeHeader(String name);
Parametri di chiamata:
- name: String, specifica il valore della chiave da eliminare
read
Legge i dati della dimensione specificata dal flusso. Questo metodo è un alias del metodo corrispondente del corpo.
1Buffer HttpRequest.read(Integer bytes = -1) async;
Parametri di chiamata:
- bytes: Numero intero, specifica la quantità di dati da leggere. L'impostazione predefinita prevede la lettura di blocchi di dati di dimensione casuale. La dimensione dei dati letti dipende dal dispositivo.
Risultati restituiti:
- Buffer, restituisce i dati letti dallo stream. Se non ci sono dati da leggere o la connessione viene interrotta, viene restituito null.
readAll
Legge tutti i dati rimanenti dallo stream. Questo metodo è un alias del metodo corrispondente del corpo.
1Buffer HttpRequest.readAll() async;
Risultati restituiti:
- Buffer, restituisce i dati letti dallo stream. Se non ci sono dati da leggere o la connessione viene interrotta, viene restituito null.
write
Scrivi i dati forniti. Questo metodo è un alias del metodo corrispondente nel corpo.
1HttpRequest.write(Buffer data) async;
Parametri di chiamata:
- data:Buffer, dati i dati da scrivere
json
Scrive i dati specificati nella codifica JSON
1Value HttpRequest.json(Value data);
Parametri di chiamata:
- data: Valore, dati i dati da scrivere
Risultati restituiti:
- Value, questo metodo non restituisce dati
Analizza i dati nel messaggio come codifica JSON
1Value HttpRequest.json();
Risultati restituiti:
- Value, restituisce il risultato analizzato
pack
dimsgpackLa codifica scrive i dati forniti
1Value HttpRequest.pack(Value data);
Parametri di chiamata:
- data: Valore, dati i dati da scrivere
Risultati restituiti:
- Value, questo metodo non restituisce dati
dimsgpackCodifica e analisi dei dati nel messaggio
1Value HttpRequest.pack();
Risultati restituiti:
- Value, restituisce il risultato analizzato
end
Imposta la fine dell'elaborazione del messaggio corrente,ChainIl processore non continua con le transazioni successive
1HttpRequest.end();
isEnded
Interroga se il messaggio corrente è terminato
1Boolean HttpRequest.isEnded();
Risultati restituiti:
- Boolean, restituisce vero al termine
clear
Cancella il contenuto del messaggio
1HttpRequest.clear();
sendTo
Invia un messaggio formattato all'oggetto flusso specificato
1HttpRequest.sendTo(Stream stm) async;
Parametri di chiamata:
- stm:Stream, specifica l'oggetto flusso che riceve il messaggio formattato
readFrom
Legge il messaggio formattato dall'oggetto flusso cache specificato e analizza l'oggetto popolato
1HttpRequest.readFrom(Stream stm) async;
Parametri di chiamata:
- stm:Stream, specifica l'oggetto flusso per la lettura dei messaggi formattati
toString
Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.
1String HttpRequest.toString();
Risultati restituiti:
- String, restituisce la rappresentazione di stringa dell'oggetto
toJSON
Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.
1Value HttpRequest.toJSON(String key = "");
Parametri di chiamata:
- key: Stringa, non utilizzata
Risultati restituiti:
- Value, restituisce un valore contenente JSON serializzabile