Oggetto oggetto incorporato

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 10
const 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.queryquesto 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

1
new HttpRequest();

costante

TEXT

Specificare il tipo di messaggio 1, che rappresenta un tipo di testo

1
const HttpRequest.TEXT = 1;

BINARY

Specificare il tipo di messaggio 2, che rappresenta un tipo binario

1
const HttpRequest.BINARY = 2;

proprietà dei membri

response

HttpResponse, Ottieni l'oggetto del messaggio di risposta

1
readonly HttpResponse HttpRequest.response;

method

Metodi di stringa, query e set request

1
String HttpRequest.method;

address

Stringa, interroga e imposta l'indirizzo di richiesta

1
String HttpRequest.address;

queryString

Stringa, interroga e imposta la stringa di query della richiesta

1
String HttpRequest.queryString;

cookies

HttpCollection, ottieni il contenitore contenente i cookie dei messaggi

1
readonly HttpCollection HttpRequest.cookies;

form

HttpCollection, ottieni il contenitore contenente il modulo del messaggio

1
readonly HttpCollection HttpRequest.form;

query

HttpCollection, ottieni il contenitore contenente la query del messaggio

1
readonly HttpCollection HttpRequest.query;

protocol

Stringa, informazioni sulla versione del protocollo, il formato consentito è: HTTP/#.#

1
String HttpRequest.protocol;

headers

HttpCollection, incluso nel messaggiohttpContenitore per intestazioni di messaggio, proprietà di sola lettura

1
readonly HttpCollection HttpRequest.headers;

keepAlive

Booleano, interroga e imposta se mantenere la connessione

1
Boolean HttpRequest.keepAlive;

upgrade

Booleano, interroga e imposta se si tratta di un protocollo di aggiornamento

1
Boolean HttpRequest.upgrade;

maxHeadersCount

Intero, interroga e imposta il numero massimo di intestazioni di richiesta, il valore predefinito è 128

1
Integer HttpRequest.maxHeadersCount;

maxHeaderSize

Intero, interroga e imposta la lunghezza massima dell'intestazione della richiesta, il valore predefinito è 8192

1
Integer HttpRequest.maxHeaderSize;

maxBodySize

Intero, interroga e imposta la dimensione massima del corpo in MB, il valore predefinito è 64

1
Integer HttpRequest.maxBodySize;

socket

Stream, Interroga il socket di origine dell'oggetto corrente

1
readonly Stream HttpRequest.socket;

value

Stringa, il contenuto di base del messaggio

1
String HttpRequest.value;

params

NArray, i parametri di base del messaggio

1
readonly NArray HttpRequest.params;

type

Numero intero, tipo di messaggio

1
Integer 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

1
readonly Value HttpRequest.data;

body

SeekableStream, un oggetto flusso contenente la parte dati del messaggio

1
SeekableStream HttpRequest.body;

length

Long, la lunghezza della parte dei dati del messaggio

1
readonly Long HttpRequest.length;

stream

Stream, l'oggetto flusso quando si interroga il messaggio readFrom

1
readonly Stream HttpRequest.stream;

lastError

Stringa, interroga e imposta l'ultimo errore di elaborazione del messaggio

1
String HttpRequest.lastError;

funzione membro

hasHeader

Controlla se è presente un'intestazione del messaggio con il valore della chiave specificato

1
Boolean 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

1
String 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

1
NObject 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

1
HttpRequest.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 2
HttpRequest.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 2
HttpRequest.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.

1
HttpRequest.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 2
HttpRequest.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 2
HttpRequest.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

1
HttpRequest.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.

1
Buffer 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.

1
Buffer 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.

1
HttpRequest.write(Buffer data) async;

Parametri di chiamata:

  • data:Buffer, dati i dati da scrivere

json

Scrive i dati specificati nella codifica JSON

1
Value 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

1
Value HttpRequest.json();

Risultati restituiti:

  • Value, restituisce il risultato analizzato

pack

dimsgpackLa codifica scrive i dati forniti

1
Value 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

1
Value 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

1
HttpRequest.end();

isEnded

Interroga se il messaggio corrente è terminato

1
Boolean HttpRequest.isEnded();

Risultati restituiti:

  • Boolean, restituisce vero al termine

clear

Cancella il contenuto del messaggio

1
HttpRequest.clear();

sendTo

Invia un messaggio formattato all'oggetto flusso specificato

1
HttpRequest.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

1
HttpRequest.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.

1
String 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.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile