Objeto incorporado

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

Aquí usamos req.queryeste 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

1
new HttpRequest();

constante

TEXT

Especifique el tipo de mensaje 1, que representa un tipo de texto.

1
const HttpRequest.TEXT = 1;

BINARY

Especifique el tipo de mensaje 2, que representa un tipo binario.

1
const HttpRequest.BINARY = 2;

propiedades de miembros

response

HttpResponse, Obtenga el objeto del mensaje de respuesta.

1
readonly HttpResponse HttpRequest.response;

method

Métodos de cadena, consulta y configuración de solicitud

1
String HttpRequest.method;

address

Cadena, consulta y configuración de dirección de solicitud

1
String HttpRequest.address;

queryString

Cadena, consulta y configuración de cadena de consulta de solicitud

1
String HttpRequest.queryString;

cookies

HttpCollection, obtiene el contenedor que contiene las cookies de mensajes

1
readonly HttpCollection HttpRequest.cookies;

form

HttpCollection, obtenga el contenedor que contiene el formulario del mensaje.

1
readonly HttpCollection HttpRequest.form;

query

HttpCollection, obtiene el contenedor que contiene la consulta del mensaje

1
readonly HttpCollection HttpRequest.query;

protocol

Cadena, información de la versión del protocolo, el formato permitido es: HTTP/#.#

1
String HttpRequest.protocol;

headers

HttpCollection, incluido en el mensajehttpContenedor para encabezados de mensajes, propiedad de solo lectura

1
readonly HttpCollection HttpRequest.headers;

keepAlive

Booleano, consulta y establece si se mantiene la conexión.

1
Boolean HttpRequest.keepAlive;

upgrade

Booleano, consulta y establece si es un protocolo de actualización

1
Boolean HttpRequest.upgrade;

maxHeadersCount

Entero, consulta y establece el número máximo de encabezados de solicitud, el valor predeterminado es 128

1
Integer HttpRequest.maxHeadersCount;

maxHeaderSize

Entero, consulta y establece la longitud máxima del encabezado de solicitud, el valor predeterminado es 8192

1
Integer HttpRequest.maxHeaderSize;

maxBodySize

Entero, consulta y establece el tamaño máximo del cuerpo en MB, el valor predeterminado es 64

1
Integer HttpRequest.maxBodySize;

socket

Stream, Consulta el socket de origen del objeto actual.

1
readonly Stream HttpRequest.socket;

value

Cadena, el contenido básico del mensaje.

1
String HttpRequest.value;

params

NArray, los parámetros básicos del mensaje.

1
readonly NArray HttpRequest.params;

type

Entero, tipo de mensaje

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

1
readonly Value HttpRequest.data;

body

SeekableStream, un objeto de flujo que contiene la parte de datos del mensaje

1
SeekableStream HttpRequest.body;

length

Long, la longitud de la parte de datos del mensaje.

1
readonly Long HttpRequest.length;

stream

Stream, el objeto de flujo al consultar el mensaje readFrom

1
readonly Stream HttpRequest.stream;

lastError

Cadena, consulta y establece el último error de procesamiento de mensajes

1
String HttpRequest.lastError;

función miembro

hasHeader

Compruebe si hay un encabezado de mensaje con el valor clave especificado

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

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

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

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

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

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

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

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

1
HttpRequest.write(Buffer data) async;

Parámetros de llamada:

  • data:Buffer, dados los datos a escribir

json

Escribe los datos dados en codificación JSON.

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

1
Value HttpRequest.json();

Resultados de devolución:

  • Value, devuelve el resultado analizado

pack

pormsgpackLa codificación escribe los datos dados.

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

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

1
HttpRequest.end();

isEnded

Consultar si el mensaje actual ha finalizado

1
Boolean HttpRequest.isEnded();

Resultados de devolución:

  • Boolean, devuelve verdadero cuando termina

clear

Borrar contenido del mensaje

1
HttpRequest.clear();

sendTo

Envía un mensaje formateado al objeto de flujo dado

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

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

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

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable