ObjetHttpRequest
HttpRequest est une classe utilisée pour gérer les requêtes HTTP. Elle permet de créer des requêtes HTTP et d'interagir avec le serveur. Vous pouvez l'utiliser pour envoyer GET, POST et d'autres types de requêtes HTTP au serveur Web
Supposons que nous ayons un paramètre de requête avec le nom de la clé et que nous renvoyions différents résultats de traitement basés sur ce paramètre : si le paramètre est vide, renvoyez "Hello world !" ; si le paramètre est "fibjs", renvoyez "Bonjour fibjs !" ; sinon, retournez "Bonjour, tout le monde !".
Le code est implémenté comme suit :
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();
Ici, nous utilisons req.query
ce type Collection, qui représente les paramètres de requête dans l'URL de la requête HTTP.
Nous accédons à http://127.0.0.1:8080/?name=fibjs via le navigateur au programme de service et obtenons le contenu de la réponse du serveur Hello fibjs!
.
relation d'héritage
Constructeur
HttpRequest
Constructeur HttpRequest, crée un nouvel objet HttpRequest
1new HttpRequest();
constante
TEXT
Spécifiez le type de message 1, qui représente un type de texte
1const HttpRequest.TEXT = 1;
BINARY
Spécifiez le type de message 2, représentant un type binaire
1const HttpRequest.BINARY = 2;
propriétés des membres
response
HttpResponse,Obtenir l'objet du message de réponse
1readonly HttpResponse HttpRequest.response;
method
Méthodes de requête de chaîne, de requête et d'ensemble
1String HttpRequest.method;
address
Chaîne, requête et définition de l'adresse de la demande
1String HttpRequest.address;
queryString
Chaîne, requête et définition de chaîne de requête de requête
1String HttpRequest.queryString;
cookies
HttpCollection, récupérez le conteneur contenant les cookies de message
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection, récupérez le conteneur contenant le formulaire de message
1readonly HttpCollection HttpRequest.form;
query
HttpCollection, récupère le conteneur contenant la requête de message
1readonly HttpCollection HttpRequest.query;
protocol
Chaîne, informations sur la version du protocole, le format autorisé est : HTTP/#.#
1String HttpRequest.protocol;
headers
HttpCollection, inclus dans le messagehttpConteneur pour les en-têtes de message, propriété en lecture seule
1readonly HttpCollection HttpRequest.headers;
keepAlive
Booléen, interroge et définit s'il faut maintenir la connexion
1Boolean HttpRequest.keepAlive;
upgrade
Booléen, interroge et définit s'il s'agit d'un protocole de mise à niveau
1Boolean HttpRequest.upgrade;
maxHeadersCount
Entier, interrogez et définissez le nombre maximum d'en-têtes de requête, la valeur par défaut est 128
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
Entier, interrogez et définissez la longueur maximale de l'en-tête de requête, la valeur par défaut est 8192
1Integer HttpRequest.maxHeaderSize;
maxBodySize
Entier, interrogez et définissez la taille maximale du corps en Mo, la valeur par défaut est 64
1Integer HttpRequest.maxBodySize;
socket
Stream, Interroger la socket source de l'objet actuel
1readonly Stream HttpRequest.socket;
value
String, le contenu de base du message
1String HttpRequest.value;
params
NArray, les paramètres de base du message
1readonly NArray HttpRequest.params;
type
Entier, type de message
1Integer HttpRequest.type;
data
Valeur, interroge les données du message. Cet attribut renverra des données différentes en fonction du type de contenu. Lorsqu'il s'agit de texte, le texte sera renvoyé.jsonrevenir quandjson, sinon il renvoie du binaire
1readonly Value HttpRequest.data;
body
SeekableStream, un objet flux contenant la partie données du message
1SeekableStream HttpRequest.body;
length
Long : la longueur de la partie des données du message
1readonly Long HttpRequest.length;
stream
Stream, l'objet flux lors de l'interrogation du message readFrom
1readonly Stream HttpRequest.stream;
lastError
Chaîne, interroge et définit la dernière erreur de traitement du message
1String HttpRequest.lastError;
fonction membre
hasHeader
Vérifiez s'il existe un en-tête de message avec la valeur de clé spécifiée
1Boolean HttpRequest.hasHeader(String name);
Paramètres d'appel :
- name: String, spécifie la valeur clé à vérifier
Résultats de retour :
- Boolean, renvoie si la valeur clé existe
firstHeader
Interroger le premier en-tête de message de la valeur de clé spécifiée
1String HttpRequest.firstHeader(String name);
Paramètres d'appel :
- name: String, spécifiez la valeur clé à interroger
Résultats de retour :
- String, renvoie la valeur correspondant à la valeur clé, si elle n'existe pas, renvoie undéfini
allHeader
Interroger tous les en-têtes de message de la valeur de clé spécifiée
1NObject HttpRequest.allHeader(String name = "");
Paramètres d'appel :
- name: String, spécifiez la valeur clé à interroger, transmettez une chaîne vide pour renvoyer les résultats de toutes les valeurs clés
Résultats de retour :
- NObject, renvoie un tableau de toutes les valeurs correspondant à la valeur clé. Si les données n'existent pas, renvoie null.
addHeader
Ajoutez un en-tête de message, ajoutez des données et ne modifiez pas l'en-tête de message de la valeur clé existante
1HttpRequest.addHeader(Object map);
Paramètres d'appel :
- map: Objet, spécifie le dictionnaire de données clé-valeur à ajouter
Ajoute un ensemble d'en-têtes avec le nom spécifié. L'ajout de données ne modifie pas les en-têtes des valeurs de clé existantes.
1
2HttpRequest.addHeader(String name,
Array values);
Paramètres d'appel :
- name: String, spécifie la valeur clé à ajouter
- values : Array, spécifie un ensemble de données à ajouter
Ajoutez un en-tête de message, ajoutez des données et ne modifiez pas l'en-tête de message de la valeur clé existante
1
2HttpRequest.addHeader(String name,
String value);
Paramètres d'appel :
- name: String, spécifie la valeur clé à ajouter
- value: String, spécifiez les données à ajouter
setHeader
Définir un en-tête de message. La définition des données modifiera la première valeur correspondant à la valeur clé et effacera les en-têtes de message restants avec la même valeur clé.
1HttpRequest.setHeader(Object map);
Paramètres d'appel :
- map: Objet, spécifie le dictionnaire de données clé-valeur à définir
Définissez un ensemble d'en-têtes de message avec le nom spécifié. La définition des données modifiera la valeur correspondant à la valeur de clé et effacera les en-têtes de message restants avec la même valeur de clé.
1
2HttpRequest.setHeader(String name,
Array values);
Paramètres d'appel :
- name: String, spécifiez la valeur clé à définir
- values : Array, spécifie un ensemble de données à définir
Définir un en-tête de message. La définition des données modifiera la première valeur correspondant à la valeur clé et effacera les en-têtes de message restants avec la même valeur clé.
1
2HttpRequest.setHeader(String name,
String value);
Paramètres d'appel :
- name: String, spécifiez la valeur clé à définir
- value: String, spécifiez les données à définir
removeHeader
Supprimer tous les en-têtes de message avec la valeur de clé spécifiée
1HttpRequest.removeHeader(String name);
Paramètres d'appel :
- name: String, spécifie la valeur clé à supprimer
read
Lit des données de taille spécifiée à partir du flux.Cette méthode est un alias de la méthode correspondante de body.
1Buffer HttpRequest.read(Integer bytes = -1) async;
Paramètres d'appel :
- bytes : Nombre entier, spécifie la quantité de données à lire. La valeur par défaut est de lire des blocs de données de taille aléatoire. La taille des données lues dépend de l'appareil.
Résultats de retour :
- Buffer, renvoie les données lues à partir du flux. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, null est renvoyé.
readAll
Lit toutes les données restantes du flux.Cette méthode est un alias de la méthode correspondante de body.
1Buffer HttpRequest.readAll() async;
Résultats de retour :
- Buffer, renvoie les données lues à partir du flux. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, null est renvoyé.
write
Écrivez les données données.Cette méthode est un alias de la méthode correspondante dans le corps.
1HttpRequest.write(Buffer data) async;
Paramètres d'appel :
- data:Buffer, étant donné les données à écrire
json
Écrit les données données en codage JSON
1Value HttpRequest.json(Value data);
Paramètres d'appel :
- data: Valeur, compte tenu des données à écrire
Résultats de retour :
- Value, cette méthode ne renvoie pas de données
Analyser les données du message sous forme d'encodage JSON
1Value HttpRequest.json();
Résultats de retour :
- Value, renvoie le résultat analysé
pack
parmsgpackL'encodage écrit les données données
1Value HttpRequest.pack(Value data);
Paramètres d'appel :
- data: Valeur, compte tenu des données à écrire
Résultats de retour :
- Value, cette méthode ne renvoie pas de données
parmsgpackEncodage et analyse des données dans le message
1Value HttpRequest.pack();
Résultats de retour :
- Value, renvoie le résultat analysé
end
Définir la fin du traitement du message en cours,ChainLe processeur ne poursuit pas les transactions ultérieures
1HttpRequest.end();
isEnded
Demander si le message en cours est terminé
1Boolean HttpRequest.isEnded();
Résultats de retour :
- Boolean, renvoie vrai une fois terminé
clear
Contenu clair du message
1HttpRequest.clear();
sendTo
Envoie un message formaté à l'objet de flux donné
1HttpRequest.sendTo(Stream stm) async;
Paramètres d'appel :
- stm:Stream, spécifie l'objet de flux qui reçoit le message formaté
readFrom
Lit le message formaté à partir de l'objet de flux de cache donné et analyse l'objet renseigné
1HttpRequest.readFrom(Stream stm) async;
Paramètres d'appel :
- stm:Stream, spécifie l'objet de flux pour lire les messages formatés
toString
Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.
1String HttpRequest.toString();
Résultats de retour :
- String, renvoie la représentation sous forme de chaîne de l'objet
toJSON
Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.
1Value HttpRequest.toJSON(String key = "");
Paramètres d'appel :
- key: Chaîne, non utilisée
Résultats de retour :
- Value, renvoie une valeur contenant du JSON sérialisable