Objekt integriertes Objekt

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 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();

Hier verwenden wir req.querydiesen 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

1
new HttpRequest();

Konstante

TEXT

Geben Sie den Nachrichtentyp 1 an, der einen Texttyp darstellt

1
const HttpRequest.TEXT = 1;

BINARY

Geben Sie den Nachrichtentyp 2 an, der einen Binärtyp darstellt

1
const HttpRequest.BINARY = 2;

Mitgliedereigenschaften

response

HttpResponse, Rufen Sie das Antwortnachrichtenobjekt ab

1
readonly HttpResponse HttpRequest.response;

method

String-, Abfrage- und Set-Request-Methoden

1
String HttpRequest.method;

address

String, Abfrage und Anforderungsadresse festlegen

1
String HttpRequest.address;

queryString

Zeichenfolge, Abfrage und Anforderungsabfragezeichenfolge festlegen

1
String HttpRequest.queryString;

cookies

HttpCollection, holen Sie sich den Container mit Nachrichtencookies

1
readonly HttpCollection HttpRequest.cookies;

form

HttpCollection, holen Sie sich den Container, der das Nachrichtenformular enthält

1
readonly HttpCollection HttpRequest.form;

query

HttpCollection, rufen Sie den Container ab, der die Nachrichtenabfrage enthält

1
readonly HttpCollection HttpRequest.query;

protocol

Zeichenfolge, Protokollversionsinformationen, zulässiges Format ist: HTTP/#.#

1
String HttpRequest.protocol;

headers

HttpCollection, in der Nachricht enthaltenhttpContainer für Nachrichtenkopfzeilen, schreibgeschützte Eigenschaft

1
readonly HttpCollection HttpRequest.headers;

keepAlive

Boolescher Wert, Abfrage und Festlegung, ob die Verbindung aufrechterhalten werden soll

1
Boolean HttpRequest.keepAlive;

upgrade

Boolescher Wert, Abfrage und Festlegung, ob es sich um ein Upgrade-Protokoll handelt

1
Boolean HttpRequest.upgrade;

maxHeadersCount

Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Anzahl von Anforderungsheadern fest. Der Standardwert ist 128

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

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

1
Integer HttpRequest.maxBodySize;

socket

Stream, Fragen Sie den Quell-Socket des aktuellen Objekts ab

1
readonly Stream HttpRequest.socket;

value

String, der grundlegende Inhalt der Nachricht

1
String HttpRequest.value;

params

NArray, die Grundparameter der Nachricht

1
readonly NArray HttpRequest.params;

type

Ganzzahl, Nachrichtentyp

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

1
readonly Value HttpRequest.data;

body

SeekableStream, ein Stream-Objekt, das den Datenteil der Nachricht enthält

1
SeekableStream HttpRequest.body;

length

Long, die Länge des Nachrichtendatenteils

1
readonly Long HttpRequest.length;

stream

Stream, das Stream-Objekt beim Abfragen der Nachricht readFrom

1
readonly Stream HttpRequest.stream;

lastError

String, Abfrage und Setzen des letzten Fehlers der Nachrichtenverarbeitung

1
String HttpRequest.lastError;

Mitgliedsfunktion

hasHeader

Prüfen Sie, ob ein Nachrichtenheader mit dem angegebenen Schlüsselwert vorhanden ist

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

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

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

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

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

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

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

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

1
HttpRequest.write(Buffer data) async;

Aufrufparameter:

  • data:Buffer, angesichts der zu schreibenden Daten

json

Schreibt die angegebenen Daten in JSON-Codierung

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

1
Value HttpRequest.json();

Rückgabeergebnisse:

  • Value, gibt das analysierte Ergebnis zurück

pack

vonmsgpackBeim Codieren werden die angegebenen Daten geschrieben

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

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

1
HttpRequest.end();

isEnded

Abfrage, ob die aktuelle Nachricht beendet ist

1
Boolean HttpRequest.isEnded();

Rückgabeergebnisse:

  • Boolean, gibt true zurück, wenn es fertig ist

clear

Klarer Nachrichteninhalt

1
HttpRequest.clear();

sendTo

Sendet eine formatierte Nachricht an das angegebene Stream-Objekt

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

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

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

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

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält