ObjetoHttpRequest
HttpRequest es una clase utilizada para manejar solicitudes HTTP. Le permite crear solicitudes HTTP e interactuar con el servidor. Puede usarlo para enviar GET, POST y otros tipos de solicitudes HTTP al servidor web.
Supongamos que tenemos un parámetro de consulta con el nombre de la clave y devolvemos diferentes resultados de procesamiento según este parámetro: si el parámetro está vacío, devolvemos "¡Hola mundo!"; si el parámetro es "fibjs", devolvemos "¡Hola fibjs!"; de lo contrario, devuelve "¡Hola a alguien!".
El código se implementa de la siguiente manera:
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 los parámetros de consulta en la URL de solicitud HTTP.
Accedemos a http://127.0.0.1:8080/?name=fibjs a través del navegador al programa de servicio y obtenemos el contenido de la respuesta del servidor Hello fibjs!
.
relación de herencia
Constructor
HttpRequest
Constructor HttpRequest, crea un nuevo objeto HttpRequest
1new HttpRequest();
constante
TEXT
Especifique el tipo de mensaje 1, que representa un tipo de texto.
1const HttpRequest.TEXT = 1;
BINARY
Especifique el tipo de mensaje 2, que representa un tipo binario.
1const HttpRequest.BINARY = 2;
propiedades de miembros
response
HttpResponse, Obtenga el objeto del mensaje de respuesta.
1readonly HttpResponse HttpRequest.response;
method
Métodos de cadena, consulta y configuración de solicitud
1String HttpRequest.method;
address
Cadena, consulta y configuración de dirección de solicitud
1String HttpRequest.address;
queryString
Cadena, consulta y configuración de cadena de consulta de solicitud
1String HttpRequest.queryString;
cookies
HttpCollection, obtiene el contenedor que contiene las cookies de mensajes
1readonly HttpCollection HttpRequest.cookies;
form
HttpCollection, obtenga el contenedor que contiene el formulario del mensaje.
1readonly HttpCollection HttpRequest.form;
query
HttpCollection, obtiene el contenedor que contiene la consulta del mensaje
1readonly HttpCollection HttpRequest.query;
protocol
Cadena, información de la versión del protocolo, el formato permitido es: HTTP/#.#
1String HttpRequest.protocol;
headers
HttpCollection, incluido en el mensajehttpContenedor para encabezados de mensajes, propiedad de solo lectura
1readonly HttpCollection HttpRequest.headers;
keepAlive
Booleano, consulta y establece si se mantiene la conexión.
1Boolean HttpRequest.keepAlive;
upgrade
Booleano, consulta y establece si es un protocolo de actualización
1Boolean HttpRequest.upgrade;
maxHeadersCount
Entero, consulta y establece el número máximo de encabezados de solicitud, el valor predeterminado es 128
1Integer HttpRequest.maxHeadersCount;
maxHeaderSize
Entero, consulta y establece la longitud máxima del encabezado de solicitud, el valor predeterminado es 8192
1Integer HttpRequest.maxHeaderSize;
maxBodySize
Entero, consulta y establece el tamaño máximo del cuerpo en MB, el valor predeterminado es 64
1Integer HttpRequest.maxBodySize;
socket
Stream, Consulta el socket de origen del objeto actual.
1readonly Stream HttpRequest.socket;
value
Cadena, el contenido básico del mensaje.
1String HttpRequest.value;
params
NArray, los parámetros básicos del mensaje.
1readonly NArray HttpRequest.params;
type
Entero, tipo de mensaje
1Integer HttpRequest.type;
data
Valor, consulta los datos del mensaje. Este atributo devolverá diferentes datos según el tipo de contenido. Cuando sea texto, se devolverá el texto.jsonregresar cuandojson, de lo contrario devuelve binario
1readonly Value HttpRequest.data;
body
SeekableStream, un objeto de flujo que contiene la parte de datos del mensaje
1SeekableStream HttpRequest.body;
length
Long, la longitud de la parte de datos del mensaje.
1readonly Long HttpRequest.length;
stream
Stream, el objeto de flujo al consultar el mensaje readFrom
1readonly Stream HttpRequest.stream;
lastError
Cadena, consulta y establece el último error de procesamiento de mensajes
1String HttpRequest.lastError;
función miembro
hasHeader
Compruebe si hay un encabezado de mensaje con el valor clave especificado
1Boolean HttpRequest.hasHeader(String name);
Parámetros de llamada:
- name: Cadena, especifica el valor clave que se va a comprobar
Resultados de devolución:
- Boolean, devuelve si el valor clave existe
firstHeader
Consultar el primer encabezado del mensaje del valor clave especificado
1String HttpRequest.firstHeader(String name);
Parámetros de llamada:
- name: Cadena, especifique el valor clave que se consultará
Resultados de devolución:
- String, devuelve el valor correspondiente al valor clave, si no existe, devuelve indefinido
allHeader
Consultar todos los encabezados de mensajes del valor clave especificado
1NObject HttpRequest.allHeader(String name = "");
Parámetros de llamada:
- name: Cadena, especifique el valor clave que se consultará, pase una cadena vacía para devolver los resultados de todos los valores clave
Resultados de devolución:
- NObject, Devuelve una matriz de todos los valores correspondientes al valor clave. Si los datos no existen, devuelve nulo.
addHeader
Agregue un encabezado de mensaje, agregue datos y no modifique el encabezado del mensaje del valor clave existente
1HttpRequest.addHeader(Object map);
Parámetros de llamada:
- map: Objeto, especifica el diccionario de datos clave-valor que se agregará
Agrega un conjunto de encabezados con el nombre especificado. Agregar datos no modifica los encabezados de los valores clave existentes.
1
2HttpRequest.addHeader(String name,
Array values);
Parámetros de llamada:
- name: Cadena, especifica el valor clave que se agregará
- values: Matriz, especifica un conjunto de datos que se agregarán
Agregue un encabezado de mensaje, agregue datos y no modifique el encabezado del mensaje del valor clave existente
1
2HttpRequest.addHeader(String name,
String value);
Parámetros de llamada:
- name: Cadena, especifica el valor clave que se agregará
- value: Cadena, especifica los datos que se agregarán
setHeader
Establecer un encabezado de mensaje. Al configurar los datos se modificará el primer valor correspondiente al valor clave y se borrarán los encabezados de mensajes restantes con el mismo valor clave.
1HttpRequest.setHeader(Object map);
Parámetros de llamada:
- map: Objeto, especifica el diccionario de datos clave-valor que se configurará
Establezca un conjunto de encabezados de mensajes con el nombre especificado. La configuración de los datos modificará el valor correspondiente al valor clave y borrará los encabezados de mensajes restantes con el mismo valor clave.
1
2HttpRequest.setHeader(String name,
Array values);
Parámetros de llamada:
- name: Cadena, especifique el valor clave que se establecerá
- values: Matriz, especifica un conjunto de datos que se establecerán
Establecer un encabezado de mensaje. Al configurar los datos se modificará el primer valor correspondiente al valor clave y se borrarán los encabezados de mensajes restantes con el mismo valor clave.
1
2HttpRequest.setHeader(String name,
String value);
Parámetros de llamada:
- name: Cadena, especifique el valor clave que se establecerá
- value: Cadena, especifique los datos que se establecerán
removeHeader
Eliminar todos los encabezados de mensajes con el valor clave especificado
1HttpRequest.removeHeader(String name);
Parámetros de llamada:
- name: Cadena, especifica el valor clave que se eliminará
read
Lee datos de tamaño especificado de la secuencia. Este método es un alias del método correspondiente del cuerpo.
1Buffer HttpRequest.read(Integer bytes = -1) async;
Parámetros de llamada:
- bytes: Entero, especifica la cantidad de datos que se leerán. El valor predeterminado es leer bloques de datos de tamaño aleatorio. El tamaño de los datos leídos depende del dispositivo.
Resultados de devolución:
- Buffer, devuelve los datos leídos de la secuencia. Si no hay datos para leer o la conexión se interrumpe, se devuelve nulo.
readAll
Lea todos los datos restantes de la secuencia. Este método es un alias del método correspondiente del cuerpo.
1Buffer HttpRequest.readAll() async;
Resultados de devolución:
- Buffer, devuelve los datos leídos de la secuencia. Si no hay datos para leer o la conexión se interrumpe, se devuelve nulo.
write
Escribe los datos dados. Este método es un alias del método correspondiente en el cuerpo.
1HttpRequest.write(Buffer data) async;
Parámetros de llamada:
- data:Buffer, dados los datos a escribir
json
Escribe los datos dados en codificación JSON.
1Value HttpRequest.json(Value data);
Parámetros de llamada:
- data: Valor, dados los datos a escribir
Resultados de devolución:
- Value, este método no devuelve datos
Analizar los datos del mensaje como codificación JSON.
1Value HttpRequest.json();
Resultados de devolución:
- Value, devuelve el resultado analizado
pack
pormsgpackLa codificación escribe los datos dados.
1Value HttpRequest.pack(Value data);
Parámetros de llamada:
- data: Valor, dados los datos a escribir
Resultados de devolución:
- Value, este método no devuelve datos
pormsgpackCodificar y analizar los datos del mensaje.
1Value HttpRequest.pack();
Resultados de devolución:
- Value, devuelve el resultado analizado
end
Establecer el final del procesamiento del mensaje actual,ChainEl procesador no continúa con transacciones posteriores.
1HttpRequest.end();
isEnded
Consultar si el mensaje actual ha finalizado
1Boolean HttpRequest.isEnded();
Resultados de devolución:
- Boolean, devuelve verdadero cuando termina
clear
Borrar contenido del mensaje
1HttpRequest.clear();
sendTo
Envía un mensaje formateado al objeto de flujo dado
1HttpRequest.sendTo(Stream stm) async;
Parámetros de llamada:
- stm:Stream, especifica el objeto de flujo que recibe el mensaje formateado
readFrom
Lee el mensaje formateado del objeto de flujo de caché dado y analiza el objeto poblado
1HttpRequest.readFrom(Stream stm) async;
Parámetros de llamada:
- stm:Stream, especifica el objeto de flujo para leer mensajes formateados.
toString
Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.
1String HttpRequest.toString();
Resultados de devolución:
- String, devuelve la representación de cadena del objeto
toJSON
Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.
1Value HttpRequest.toJSON(String key = "");
Parámetros de llamada:
- key: Cadena, no utilizada
Resultados de devolución:
- Value, devuelve un valor que contiene JSON serializable