ObxectoHttpRequest
HttpRequest é unha clase que se usa para xestionar solicitudes HTTP. Permítelle crear solicitudes HTTP e interactuar co servidor. Podes usalo para enviar solicitudes GET, POST e outros tipos de HTTP ao servidor web
Supoñamos que temos un parámetro de consulta co nome da clave e devolvemos diferentes resultados de procesamento baseados neste parámetro: se o parámetro está baleiro, devolve "Ola mundo!"; se o parámetro é "fibjs", devolve "Ola fibjs!"; se non, devolve "Ola algún corpo!".
O código implícase do seguinte xeito:
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();
Aquí usamos req.query
este tipo de colección, que representa os parámetros de consulta no URL da solicitude HTTP.
Accedemos a http://127.0.0.1:8080/?name=fibjs a través do navegador ao programa de servizo e obtemos o contido da resposta do servidor Hello fibjs!
.
relación de herdanza
Construtor
HttpRequest
Construtor HttpRequest, crea un novo obxecto HttpRequest
1new HttpRequest();
constante
TEXT
Especifique o tipo de mensaxe 1, que representa un tipo de texto
1const HttpRequest.TEXT = 1;
BINARY
Especifique o tipo de mensaxe 2, que representa un tipo binario
1const HttpRequest.BINARY = 2;
propiedades dos membros
response
HttpResponse, Obter o obxecto da mensaxe de resposta
1readonly HttpResponse HttpRequest.response;
method
Cadena, consulta e métodos de solicitude de conxunto
1String HttpRequest.method;
address
Cadena, consulta e establece o enderezo de solicitude
1String HttpRequest.address;
queryString
Cadea, consulta e establece unha cadea de consulta de solicitude
1String HttpRequest.queryString;
cookies
HttpCollection, obtén o contedor que contén cookies de mensaxes
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection, obtén o contedor que contén o formulario de mensaxe
1readonly HttpCollection HttpRequest.form;
query
HttpCollection, obtén o contedor que contén a consulta da mensaxe
1readonly HttpCollection HttpRequest.query;
protocol
A cadea, a información da versión do protocolo, o formato permitido é: HTTP/#.#
1String HttpRequest.protocol;
headers
HttpCollection, incluído na mensaxehttpContedor para cabeceiras de mensaxes, propiedade de só lectura
1readonly HttpCollection HttpRequest.headers;
keepAlive
Booleano, consulta e establece se queres manter a conexión
1Boolean HttpRequest.keepAlive;
upgrade
Booleano, consulta e establece se é un protocolo de actualización
1Boolean HttpRequest.upgrade;
maxHeadersCount
Número enteiro, consulta e establece o número máximo de cabeceiras de solicitude, o valor predeterminado é 128
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
Número enteiro, consulta e establece a lonxitude máxima da cabeceira da solicitude, o valor predeterminado é 8192
1Integer HttpRequest.maxHeaderSize;
maxBodySize
Enteiro, consulta e establece o tamaño máximo do corpo en MB, o valor predeterminado é 64
1Integer HttpRequest.maxBodySize;
socket
Stream, Consulta o socket de orixe do obxecto actual
1readonly Stream HttpRequest.socket;
value
String, o contido básico da mensaxe
1String HttpRequest.value;
params
NArray, os parámetros básicos da mensaxe
1readonly NArray HttpRequest.params;
type
Número enteiro, tipo de mensaxe
1Integer HttpRequest.type;
data
Valor, consulta os datos da mensaxe. Este atributo devolverá datos diferentes segundo o tipo de contido. Cando sexa texto, devolverase o texto.jsonvolver candojson, se non, devolve binario
1readonly Value HttpRequest.data;
body
SeekableStream, un obxecto de fluxo que contén a parte de datos da mensaxe
1SeekableStream HttpRequest.body;
length
Long, a lonxitude da parte de datos da mensaxe
1readonly Long HttpRequest.length;
stream
Stream, o obxecto de fluxo cando se consulta a mensaxe readFrom
1readonly Stream HttpRequest.stream;
lastError
Cadena, consulta e establece o último erro de procesamento da mensaxe
1String HttpRequest.lastError;
función de membro
hasHeader
Comproba se hai unha cabeceira de mensaxe co valor de clave especificado
1Boolean HttpRequest.hasHeader(String name);
Parámetros de chamada:
- name: Cadea, especifica o valor da clave que se vai comprobar
Resultados de devolución:
- Boolean, devolve se o valor da chave existe
firstHeader
Consulta a primeira cabeceira da mensaxe do valor de chave especificado
1String HttpRequest.firstHeader(String name);
Parámetros de chamada:
- name: Cadea, especifique o valor da clave que se vai consultar
Resultados de devolución:
- String, devolve o valor correspondente ao valor da chave, se non existe, devolve indefinido
allHeader
Consulta todas as cabeceiras das mensaxes do valor de chave especificado
1NObject HttpRequest.allHeader(String name = "");
Parámetros de chamada:
- name: Cadea, especifique o valor da clave que se vai consultar, pase unha cadea baleira para devolver os resultados de todos os valores clave
Resultados de devolución:
- NObject, devolve unha matriz de todos os valores correspondentes ao valor da chave. Se os datos non existen, devolve nulo.
addHeader
Engade unha cabeceira de mensaxe, engade datos e non modifique a cabeceira da mensaxe do valor da chave existente
1HttpRequest.addHeader(Object map);
Parámetros de chamada:
- map: Obxecto, especifica o dicionario de datos clave-valor que se vai engadir
Engade un conxunto de cabeceiras co nome especificado. Ao engadir datos non se modifican as cabeceiras dos valores clave existentes.
1
2HttpRequest.addHeader(String name,
Array values);
Parámetros de chamada:
- name: Cadea, especifica o valor da chave que se vai engadir
- values: Matriz, especifica un conxunto de datos a engadir
Engade unha cabeceira de mensaxe, engade datos e non modifique a cabeceira da mensaxe do valor da chave existente
1
2HttpRequest.addHeader(String name,
String value);
Parámetros de chamada:
- name: Cadea, especifica o valor da chave que se vai engadir
- value: Cadea, especifique os datos a engadir
setHeader
Establece unha cabeceira de mensaxe. Ao configurar os datos modificarase o primeiro valor correspondente ao valor da clave e borrará as cabeceiras das mensaxes restantes co mesmo valor de chave.
1HttpRequest.setHeader(Object map);
Parámetros de chamada:
- map: Obxecto, especifica o dicionario de datos clave-valor que se vai definir
Establece un conxunto de cabeceiras de mensaxe co nome especificado. Ao configurar os datos modificarase o valor correspondente ao valor da chave e borrará as cabeceiras das mensaxes restantes co mesmo valor de chave.
1
2HttpRequest.setHeader(String name,
Array values);
Parámetros de chamada:
- name: Cadea, especifique o valor da clave que se quere establecer
- values: Matriz, especifica un conxunto de datos a definir
Establece unha cabeceira de mensaxe. Ao configurar os datos modificarase o primeiro valor correspondente ao valor da clave e borrará as cabeceiras das mensaxes restantes co mesmo valor de chave.
1
2HttpRequest.setHeader(String name,
String value);
Parámetros de chamada:
- name: Cadea, especifique o valor da clave que se quere establecer
- value: Cadea, especifique os datos a definir
removeHeader
Elimina todas as cabeceiras das mensaxes co valor de clave especificado
1HttpRequest.removeHeader(String name);
Parámetros de chamada:
- name: Cadea, especifica o valor da clave que se vai eliminar
read
Le datos do tamaño especificado do fluxo. Este método é un alias do método correspondente do corpo.
1Buffer HttpRequest.read(Integer bytes = -1) async;
Parámetros de chamada:
- bytes: Número enteiro, especifica a cantidade de datos que se van ler. O valor predeterminado é ler bloques de datos de tamaño aleatorio. O tamaño dos datos lidos depende do dispositivo.
Resultados de devolución:
- Buffer, devolve os datos lidos do fluxo. Se non hai datos para ler ou se interrompe a conexión, devólvese nulo.
readAll
Le todos os datos restantes do fluxo. Este método é un alias do método correspondente do corpo.
1Buffer HttpRequest.readAll() async;
Resultados de devolución:
- Buffer, devolve os datos lidos do fluxo. Se non hai datos para ler ou se interrompe a conexión, devólvese nulo.
write
Escribe os datos dados. Este método é un alias do método correspondente no corpo.
1HttpRequest.write(Buffer data) async;
Parámetros de chamada:
- data:Buffer, dados os datos a escribir
json
Escribe os datos proporcionados en codificación JSON
1Value HttpRequest.json(Value data);
Parámetros de chamada:
- data: Valor, dados os datos a escribir
Resultados de devolución:
- Value, este método non devolve datos
Analiza os datos da mensaxe como codificación JSON
1Value HttpRequest.json();
Resultados de devolución:
- Value, devolve o resultado analizado
pack
pormsgpackA codificación escribe os datos dados
1Value HttpRequest.pack(Value data);
Parámetros de chamada:
- data: Valor, dados os datos a escribir
Resultados de devolución:
- Value, este método non devolve datos
pormsgpackCodificación e análise dos datos da mensaxe
1Value HttpRequest.pack();
Resultados de devolución:
- Value, devolve o resultado analizado
end
Establece o final do procesamento da mensaxe actual,ChainO procesador non continúa coas transaccións posteriores
1HttpRequest.end();
isEnded
Consulta se a mensaxe actual rematou
1Boolean HttpRequest.isEnded();
Resultados de devolución:
- Boolean, devolve verdadeiro cando remate
clear
Borrar o contido da mensaxe
1HttpRequest.clear();
sendTo
Envía unha mensaxe con formato ao obxecto de fluxo indicado
1HttpRequest.sendTo(Stream stm) async;
Parámetros de chamada:
- stm:Stream, especifica o obxecto de fluxo que recibe a mensaxe con formato
readFrom
Le a mensaxe con formato do obxecto de fluxo de caché indicado e analiza o obxecto poboado
1HttpRequest.readFrom(Stream stm) async;
Parámetros de chamada:
- stm:Stream, especifica o obxecto de fluxo para ler mensaxes con formato
toString
Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.
1String HttpRequest.toString();
Resultados de devolución:
- String, devolve a representación en cadea do obxecto
toJSON
Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.
1Value HttpRequest.toJSON(String key = "");
Parámetros de chamada:
- key: Cadena, non usada
Resultados de devolución:
- Value, devolve un valor que contén JSON serializable