ObjectHttpRequest
HttpRequest ist eine Klasse zur Verarbeitung von HTTP-Anfragen. Sie ermöglicht das Erstellen von HTTP-Anfragen und die Interaktion mit dem Server. Sie können damit GET-, POST- und andere Arten von HTTP-Anfragen an den Webserver senden
Angenommen, wir haben einen Abfrageparameter mit dem Schlüsselnamen und geben basierend auf diesem Parameter unterschiedliche Verarbeitungsergebnisse zurück: Wenn der Parameter leer ist, geben Sie „Hallo Welt!“ zurück. Wenn der Parameter „fibjs“ lautet, geben Sie „Hallo fibjs!“ zurück. Andernfalls wird „Hallo jemand!“ zurückgegeben.
Der Code ist wie folgt implementiert:
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();
Hier verwenden wir req.query
diesen Sammlungstyp, der die Abfrageparameter in der HTTP-Anfrage-URL darstellt.
Wir greifen über den Browser auf http://127.0.0.1:8080/?name=fibjs auf das Dienstprogramm zu und erhalten den Inhalt der Serverantwort Hello fibjs!
.
Erbschaftsverhältnis
Konstrukteur
HttpRequest
HttpRequest-Konstruktor, erstellt ein neues HttpRequest-Objekt
1new HttpRequest();
Konstante
TEXT
Geben Sie den Nachrichtentyp 1 an, der einen Texttyp darstellt
1const HttpRequest.TEXT = 1;
BINARY
Geben Sie den Nachrichtentyp 2 an, der einen Binärtyp darstellt
1const HttpRequest.BINARY = 2;
Mitgliedereigenschaften
response
HttpResponse, Rufen Sie das Antwortnachrichtenobjekt ab
1readonly HttpResponse HttpRequest.response;
method
String-, Abfrage- und Set-Request-Methoden
1String HttpRequest.method;
address
String, Abfrage und Anforderungsadresse festlegen
1String HttpRequest.address;
queryString
Zeichenfolge, Abfrage und Anforderungsabfragezeichenfolge festlegen
1String HttpRequest.queryString;
cookies
HttpCollection, holen Sie sich den Container mit Nachrichtencookies
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection, holen Sie sich den Container, der das Nachrichtenformular enthält
1readonly HttpCollection HttpRequest.form;
query
HttpCollection, rufen Sie den Container ab, der die Nachrichtenabfrage enthält
1readonly HttpCollection HttpRequest.query;
protocol
Zeichenfolge, Protokollversionsinformationen, zulässiges Format ist: HTTP/#.#
1String HttpRequest.protocol;
headers
HttpCollection, in der Nachricht enthaltenhttpContainer für Nachrichtenkopfzeilen, schreibgeschützte Eigenschaft
1readonly HttpCollection HttpRequest.headers;
keepAlive
Boolescher Wert, Abfrage und Festlegung, ob die Verbindung aufrechterhalten werden soll
1Boolean HttpRequest.keepAlive;
upgrade
Boolescher Wert, Abfrage und Festlegung, ob es sich um ein Upgrade-Protokoll handelt
1Boolean HttpRequest.upgrade;
maxHeadersCount
Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Anzahl von Anforderungsheadern fest. Der Standardwert ist 128
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Länge des Anforderungsheaders fest. Der Standardwert ist 8192
1Integer HttpRequest.maxHeaderSize;
maxBodySize
Geben Sie eine Ganzzahl ein, fragen Sie die maximale Körpergröße in MB ab und legen Sie sie fest. Der Standardwert ist 64
1Integer HttpRequest.maxBodySize;
socket
Stream, Fragen Sie den Quell-Socket des aktuellen Objekts ab
1readonly Stream HttpRequest.socket;
value
String, der grundlegende Inhalt der Nachricht
1String HttpRequest.value;
params
NArray, die Grundparameter der Nachricht
1readonly NArray HttpRequest.params;
type
Ganzzahl, Nachrichtentyp
1Integer HttpRequest.type;
data
Wert: Fragen Sie die Daten der Nachricht ab. Dieses Attribut gibt je nach Inhaltstyp unterschiedliche Daten zurück. Wenn es sich um Text handelt, wird der Text zurückgegeben.jsonwann zurückkommenjson, andernfalls wird binär zurückgegeben
1readonly Value HttpRequest.data;
body
SeekableStream, ein Stream-Objekt, das den Datenteil der Nachricht enthält
1SeekableStream HttpRequest.body;
length
Long, die Länge des Nachrichtendatenteils
1readonly Long HttpRequest.length;
stream
Stream, das Stream-Objekt beim Abfragen der Nachricht readFrom
1readonly Stream HttpRequest.stream;
lastError
String, Abfrage und Setzen des letzten Fehlers der Nachrichtenverarbeitung
1String HttpRequest.lastError;
Mitgliedsfunktion
hasHeader
Prüfen Sie, ob ein Nachrichtenheader mit dem angegebenen Schlüsselwert vorhanden ist
1Boolean HttpRequest.hasHeader(String name);
Aufrufparameter:
- name: String, gibt den zu prüfenden Schlüsselwert an
Rückgabeergebnisse:
- Boolean, gibt zurück, ob der Schlüsselwert existiert
firstHeader
Fragen Sie den ersten Nachrichtenheader des angegebenen Schlüsselwerts ab
1String HttpRequest.firstHeader(String name);
Aufrufparameter:
- name: String, geben Sie den Schlüsselwert an, der abgefragt werden soll
Rückgabeergebnisse:
- StringGibt den Wert zurück, der dem Schlüsselwert entspricht. Wenn er nicht existiert, wird undefiniert zurückgegeben
allHeader
Fragen Sie alle Nachrichtenheader des angegebenen Schlüsselwerts ab
1NObject HttpRequest.allHeader(String name = "");
Aufrufparameter:
- name: Zeichenfolge, geben Sie den abzufragenden Schlüsselwert an, übergeben Sie eine leere Zeichenfolge, um die Ergebnisse aller Schlüsselwerte zurückzugeben
Rückgabeergebnisse:
- NObjectGibt ein Array aller Werte zurück, die dem Schlüsselwert entsprechen. Wenn die Daten nicht vorhanden sind, wird Null zurückgegeben.
addHeader
Fügen Sie einen Nachrichtenkopf hinzu, fügen Sie Daten hinzu und ändern Sie den Nachrichtenkopf des vorhandenen Schlüsselwerts nicht
1HttpRequest.addHeader(Object map);
Aufrufparameter:
- map: Objekt, gibt das hinzuzufügende Schlüsselwert-Datenwörterbuch an
Fügt eine Reihe von Headern mit dem angegebenen Namen hinzu. Durch das Hinzufügen von Daten werden die Header vorhandener Schlüsselwerte nicht geändert.
1
2HttpRequest.addHeader(String name,
Array values);
Aufrufparameter:
- name: String, gibt den hinzuzufügenden Schlüsselwert an
- values: Array, gibt einen hinzuzufügenden Datensatz an
Fügen Sie einen Nachrichtenkopf hinzu, fügen Sie Daten hinzu und ändern Sie den Nachrichtenkopf des vorhandenen Schlüsselwerts nicht
1
2HttpRequest.addHeader(String name,
String value);
Aufrufparameter:
- name: String, gibt den hinzuzufügenden Schlüsselwert an
- value: Zeichenfolge, geben Sie die hinzuzufügenden Daten an
setHeader
Legen Sie einen Nachrichtenkopf fest. Durch das Festlegen der Daten wird der erste Wert geändert, der dem Schlüsselwert entspricht, und die verbleibenden Nachrichtenkopfzeilen mit demselben Schlüsselwert werden gelöscht.
1HttpRequest.setHeader(Object map);
Aufrufparameter:
- map: Objekt, gibt das festzulegende Schlüsselwert-Datenwörterbuch an
Legen Sie einen Satz Nachrichtenkopfzeilen mit dem angegebenen Namen fest. Durch Festlegen der Daten wird der dem Schlüsselwert entsprechende Wert geändert und die verbleibenden Nachrichtenkopfzeilen mit demselben Schlüsselwert gelöscht.
1
2HttpRequest.setHeader(String name,
Array values);
Aufrufparameter:
- name: String, geben Sie den festzulegenden Schlüsselwert an
- values: Array, gibt einen festzulegenden Datensatz an
Legen Sie einen Nachrichtenkopf fest. Durch das Festlegen der Daten wird der erste Wert geändert, der dem Schlüsselwert entspricht, und die verbleibenden Nachrichtenkopfzeilen mit demselben Schlüsselwert werden gelöscht.
1
2HttpRequest.setHeader(String name,
String value);
Aufrufparameter:
- name: String, geben Sie den festzulegenden Schlüsselwert an
- value: Zeichenfolge, geben Sie die festzulegenden Daten an
removeHeader
Löschen Sie alle Nachrichtenkopfzeilen mit dem angegebenen Schlüsselwert
1HttpRequest.removeHeader(String name);
Aufrufparameter:
- name: String, gibt den zu löschenden Schlüsselwert an
read
Liest Daten der angegebenen Größe aus dem Stream. Diese Methode ist ein Alias der entsprechenden Methode von body.
1Buffer HttpRequest.read(Integer bytes = -1) async;
Aufrufparameter:
- bytes: Ganzzahl, gibt die Menge der zu lesenden Daten an. Standardmäßig werden Datenblöcke zufälliger Größe gelesen. Die Größe der gelesenen Daten hängt vom Gerät ab.
Rückgabeergebnisse:
- Buffer, gibt die aus dem Stream gelesenen Daten zurück. Wenn keine Daten zum Lesen vorhanden sind oder die Verbindung unterbrochen ist, wird null zurückgegeben.
readAll
Liest alle verbleibenden Daten aus dem Stream. Diese Methode ist ein Alias der entsprechenden Methode von body.
1Buffer HttpRequest.readAll() async;
Rückgabeergebnisse:
- Buffer, gibt die aus dem Stream gelesenen Daten zurück. Wenn keine Daten zum Lesen vorhanden sind oder die Verbindung unterbrochen ist, wird null zurückgegeben.
write
Schreiben Sie die angegebenen Daten. Diese Methode ist ein Alias der entsprechenden Methode im Hauptteil.
1HttpRequest.write(Buffer data) async;
Aufrufparameter:
- data:Buffer, angesichts der zu schreibenden Daten
json
Schreibt die angegebenen Daten in JSON-Codierung
1Value HttpRequest.json(Value data);
Aufrufparameter:
- data: Wert angesichts der zu schreibenden Daten
Rückgabeergebnisse:
- Value, diese Methode gibt keine Daten zurück
Analysieren Sie die Daten in der Nachricht als JSON-Codierung
1Value HttpRequest.json();
Rückgabeergebnisse:
- Value, gibt das analysierte Ergebnis zurück
pack
vonmsgpackBeim Codieren werden die angegebenen Daten geschrieben
1Value HttpRequest.pack(Value data);
Aufrufparameter:
- data: Wert angesichts der zu schreibenden Daten
Rückgabeergebnisse:
- Value, diese Methode gibt keine Daten zurück
vonmsgpackCodieren und Parsen der Daten in der Nachricht
1Value HttpRequest.pack();
Rückgabeergebnisse:
- Value, gibt das analysierte Ergebnis zurück
end
Legen Sie das Ende der aktuellen Nachrichtenverarbeitung fest.ChainDer Prozessor fährt mit nachfolgenden Transaktionen nicht fort
1HttpRequest.end();
isEnded
Abfrage, ob die aktuelle Nachricht beendet ist
1Boolean HttpRequest.isEnded();
Rückgabeergebnisse:
- Boolean, gibt true zurück, wenn es fertig ist
clear
Klarer Nachrichteninhalt
1HttpRequest.clear();
sendTo
Sendet eine formatierte Nachricht an das angegebene Stream-Objekt
1HttpRequest.sendTo(Stream stm) async;
Aufrufparameter:
- stm:Stream, gibt das Stream-Objekt an, das die formatierte Nachricht empfängt
readFrom
Liest die formatierte Nachricht aus dem angegebenen Cache-Stream-Objekt und analysiert das aufgefüllte Objekt
1HttpRequest.readFrom(Stream stm) async;
Aufrufparameter:
- stm:Stream, gibt das Stream-Objekt zum Lesen formatierter Nachrichten an
toString
Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.
1String HttpRequest.toString();
Rückgabeergebnisse:
- String, gibt die Zeichenfolgendarstellung des Objekts zurück
toJSON
Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.
1Value HttpRequest.toJSON(String key = "");
Aufrufparameter:
- key: Zeichenfolge, nicht verwendet
Rückgabeergebnisse:
- Value, gibt einen Wert zurück, der JSON serialisierbar enthält