Object built-in object

ObjectHttpRequest

HttpRequest is a class used to handle HTTP requests. It allows you to create HTTP requests and interact with the server. You can use it to send GET, POST and other types of HTTP requests to the web server

Suppose we have a query parameter with the key name, and we return different processing results based on this parameter: if the parameter is empty, return "Hello world!"; if the parameter is "fibjs", return "Hello fibjs!"; otherwise return "Hello some body!".

The code is implemented as follows:

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

Here we use req.querythis Collection type, which represents the query parameters in the HTTP request URL.

We access http://127.0.0.1:8080/?name=fibjs through the browser to the service program and get the server response content Hello fibjs!.

inheritance relationship

Constructor

HttpRequest

HttpRequest constructor, creates a new HttpRequest object

1
new HttpRequest();

constant

TEXT

Specify message type 1, which represents a text type

1
const HttpRequest.TEXT = 1;

BINARY

Specify message type 2, representing a binary type

1
const HttpRequest.BINARY = 2;

member properties

response

HttpResponse, Get the response message object

1
readonly HttpResponse HttpRequest.response;

method

String, query and set request methods

1
String HttpRequest.method;

address

String, query and set request address

1
String HttpRequest.address;

queryString

String, query and set request query string

1
String HttpRequest.queryString;

cookies

HttpCollection, get the container containing message cookies

1
readonly HttpCollection HttpRequest.cookies;

form

HttpCollection, get the container containing the message form

1
readonly HttpCollection HttpRequest.form;

query

HttpCollection, get the container containing the message query

1
readonly HttpCollection HttpRequest.query;

protocol

String, protocol version information, allowed format is: HTTP/#.#

1
String HttpRequest.protocol;

headers

HttpCollection, included in the messagehttpContainer for message headers, read-only property

1
readonly HttpCollection HttpRequest.headers;

keepAlive

Boolean, query and set whether to maintain the connection

1
Boolean HttpRequest.keepAlive;

upgrade

Boolean, query and set whether it is an upgrade protocol

1
Boolean HttpRequest.upgrade;

maxHeadersCount

Integer, query and set the maximum number of request headers, the default is 128

1
Integer HttpRequest.maxHeadersCount;

maxHeaderSize

Integer, query and set the maximum request header length, the default is 8192

1
Integer HttpRequest.maxHeaderSize;

maxBodySize

Integer, query and set the maximum body size in MB, the default is 64

1
Integer HttpRequest.maxBodySize;

socket

Stream, Query the source socket of the current object

1
readonly Stream HttpRequest.socket;

value

String, the basic content of the message

1
String HttpRequest.value;

params

NArray, the basic parameters of the message

1
readonly NArray HttpRequest.params;

type

Integer, message type

1
Integer HttpRequest.type;

data

Value, query the data of the message. This attribute will return different data according to the content-type. When it is text, the text will be returned.jsonreturn whenjson, otherwise it returns binary

1
readonly Value HttpRequest.data;

body

SeekableStream, a stream object containing the data portion of the message

1
SeekableStream HttpRequest.body;

length

Long, the length of the message data part

1
readonly Long HttpRequest.length;

stream

Stream, the stream object when querying the message readFrom

1
readonly Stream HttpRequest.stream;

lastError

String, query and set the last error of message processing

1
String HttpRequest.lastError;

member function

hasHeader

Check whether there is a message header with the specified key value

1
Boolean HttpRequest.hasHeader(String name);

Call parameters:

  • name: String, specifies the key value to be checked

Return results:

  • Boolean, returns whether the key value exists

firstHeader

Query the first message header of the specified key value

1
String HttpRequest.firstHeader(String name);

Call parameters:

  • name: String, specify the key value to be queried

Return results:

  • String, returns the value corresponding to the key value, if it does not exist, returns undefined

allHeader

Query all message headers of the specified key value

1
NObject HttpRequest.allHeader(String name = "");

Call parameters:

  • name: String, specify the key value to be queried, pass an empty string to return the results of all key values

Return results:

  • NObject, returns an array of all values ​​corresponding to the key value. If the data does not exist, returns null.

addHeader

Add a message header, add data and do not modify the message header of the existing key value

1
HttpRequest.addHeader(Object map);

Call parameters:

  • map: Object, specifies the key-value data dictionary to be added

Adds a set of headers with the specified name. Adding data does not modify the headers of existing key values.

1 2
HttpRequest.addHeader(String name, Array values);

Call parameters:

  • name: String, specifies the key value to be added
  • values: Array, specifies a set of data to be added

Add a message header, add data and do not modify the message header of the existing key value

1 2
HttpRequest.addHeader(String name, String value);

Call parameters:

  • name: String, specifies the key value to be added
  • value: String, specify the data to be added

setHeader

Set a message header. Setting the data will modify the first value corresponding to the key value and clear the remaining message headers with the same key value.

1
HttpRequest.setHeader(Object map);

Call parameters:

  • map: Object, specifies the key-value data dictionary to be set

Set a set of message headers with the specified name. Setting the data will modify the value corresponding to the key value and clear the remaining message headers with the same key value.

1 2
HttpRequest.setHeader(String name, Array values);

Call parameters:

  • name: String, specify the key value to be set
  • values: Array, specifies a set of data to be set

Set a message header. Setting the data will modify the first value corresponding to the key value and clear the remaining message headers with the same key value.

1 2
HttpRequest.setHeader(String name, String value);

Call parameters:

  • name: String, specify the key value to be set
  • value: String, specify the data to be set

removeHeader

Delete all message headers with specified key value

1
HttpRequest.removeHeader(String name);

Call parameters:

  • name: String, specifies the key value to be deleted

read

Read data of specified size from the stream. This method is an alias of the corresponding method of body.

1
Buffer HttpRequest.read(Integer bytes = -1) async;

Call parameters:

  • bytes: Integer, specifies the amount of data to be read. The default is to read data blocks of random size. The size of the data read depends on the device.

Return results:

  • Buffer, returns the data read from the stream. If there is no data to read or the connection is interrupted, null is returned.

readAll

Read all remaining data from the stream. This method is an alias of the corresponding method of body.

1
Buffer HttpRequest.readAll() async;

Return results:

  • Buffer, returns the data read from the stream. If there is no data to read or the connection is interrupted, null is returned.

write

Write the given data. This method is an alias of the corresponding method in body.

1
HttpRequest.write(Buffer data) async;

Call parameters:

  • data:Buffer, given the data to be written

json

Writes the given data in JSON encoding

1
Value HttpRequest.json(Value data);

Call parameters:

  • data: Value, given the data to be written

Return results:

  • Value, this method does not return data

Parse the data in the message as JSON encoding

1
Value HttpRequest.json();

Return results:

  • Value, returns the parsed result

pack

bymsgpackEncoding writes the given data

1
Value HttpRequest.pack(Value data);

Call parameters:

  • data: Value, given the data to be written

Return results:

  • Value, this method does not return data

bymsgpackEncoding and parsing the data in the message

1
Value HttpRequest.pack();

Return results:

  • Value, returns the parsed result

end

Set the end of current message processing,ChainThe processor does not continue with subsequent transactions

1
HttpRequest.end();

isEnded

Query whether the current message has ended

1
Boolean HttpRequest.isEnded();

Return results:

  • Boolean, returns true when finished

clear

Clear message content

1
HttpRequest.clear();

sendTo

Sends a formatted message to the given stream object

1
HttpRequest.sendTo(Stream stm) async;

Call parameters:

  • stm:Stream, specifies the stream object that receives the formatted message

readFrom

Reads the formatted message from the given cache stream object and parses the populated object

1
HttpRequest.readFrom(Stream stm) async;

Call parameters:

  • stm:Stream, specifies the stream object for reading formatted messages

toString

Returns the string representation of the object. Generally, "[Native Object]" is returned. The object can be re-implemented according to its own characteristics.

1
String HttpRequest.toString();

Return results:

  • String, returns the string representation of the object

toJSON

Returns a JSON format representation of the object, generally returning a collection of readable properties defined by the object.

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

Call parameters:

  • key: String, not used

Return results:

  • Value, returns a value containing JSON serializable