对象 HttpRequest

http 请求消息对象

继承关系

构造函数

HttpRequest

HttpRequest 构造函数,创建一个新的 HttpRequest 对象

new HttpRequest();

常量

TEXT

指定消息类型 1,代表一个文本类型

const HttpRequest.TEXT = 1;

BINARY

指定消息类型 2,代表一个二进制类型

const HttpRequest.BINARY = 2;

成员属性

method

String, 查询和设置请求方法

String HttpRequest.method;

address

String, 查询和设置请求地址

String HttpRequest.address;

queryString

String, 查询和设置请求查询字符串

String HttpRequest.queryString;

cookies

HttpCollection, 获取包含消息 cookies 的容器

readonly HttpCollection HttpRequest.cookies;

form

HttpCollection, 获取包含消息 form 的容器

readonly HttpCollection HttpRequest.form;

query

HttpCollection, 获取包含消息 query 的容器

readonly HttpCollection HttpRequest.query;

protocol

String, 协议版本信息,允许的格式为:HTTP/#.#

String HttpRequest.protocol;

headers

HttpCollection, 包含消息中 http 消息头的容器,只读属性

readonly HttpCollection HttpRequest.headers;

keepAlive

Boolean, 查询和设定是否保持连接

Boolean HttpRequest.keepAlive;

upgrade

Boolean, 查询和设定是否是升级协议

Boolean HttpRequest.upgrade;

maxHeadersCount

Integer, 查询和设置最大请求头个数,缺省为 128

Integer HttpRequest.maxHeadersCount;

maxBodySize

Integer, 查询和设置 body 最大尺寸,以 MB 为单位,缺省为 64

Integer HttpRequest.maxBodySize;

socket

Stream, 查询当前对象的来源 socket

readonly Stream HttpRequest.socket;

value

String, 消息的基本内容

String HttpRequest.value;

params

List, 消息的基本参数

List HttpRequest.params;

type

Integer, 消息类型

Integer HttpRequest.type;

data

Value, 查询消息的数据

readonly Value HttpRequest.data;

body

SeekableStream, 包含消息数据部分的流对象

SeekableStream HttpRequest.body;

length

Long, 消息数据部分的长度

readonly Long HttpRequest.length;

stream

Stream, 查询消息 readFrom 时的流对象

readonly Stream HttpRequest.stream;

response

Message, 获取响应消息对象

readonly Message HttpRequest.response;

lastError

String, 查询和设置消息处理的最后错误

String HttpRequest.lastError;

成员函数

hasHeader

检查是否存在指定键值的消息头

Boolean HttpRequest.hasHeader(String name);

调用参数:

返回结果:


firstHeader

查询指定键值的第一个消息头

Variant HttpRequest.firstHeader(String name);

调用参数:

返回结果:


allHeader

查询指定键值的全部消息头

List HttpRequest.allHeader(String name);

调用参数:

返回结果:


addHeader

添加一个消息头,添加数据并不修改已存在的键值的消息头

HttpRequest.addHeader(Map map);

调用参数:


添加一个消息头,添加数据并不修改已存在的键值的消息头

HttpRequest.addHeader(String name,
    Variant value);

调用参数:


setHeader

设定一个消息头,设定数据将修改键值所对应的第一个数值,并清除相同键值的其余消息头

HttpRequest.setHeader(Map map);

调用参数:


设定一个消息头,设定数据将修改键值所对应的第一个数值,并清除相同键值的其余消息头

HttpRequest.setHeader(String name,
    Variant value);

调用参数:


removeHeader

删除指定键值的全部消息头

HttpRequest.removeHeader(String name);

调用参数:


read

从流内读取指定大小的数据,此方法为 body 相应方法的别名

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

调用参数:

返回结果:


readAll

从流内读取剩余的全部数据,此方法为 body 相应方法的别名

Buffer HttpRequest.readAll() async;

返回结果:


write

写入给定的数据,此方法为 body 相应方法的别名

HttpRequest.write(Buffer data) async;

调用参数:


end

设置当前消息处理结束,Chain 处理器不再继续后面的事务

HttpRequest.end();

isEnded

查询当前消息是否结束

Boolean HttpRequest.isEnded();

返回结果:


clear

清除消息的内容

HttpRequest.clear();

sendTo

发送格式化消息到给定的流对象

HttpRequest.sendTo(Stream stm) async;

调用参数:


readFrom

从给定的缓存流对象中读取格式化消息,并解析填充对象

HttpRequest.readFrom(Stream stm) async;

调用参数:


dispose

强制回收对象,调用此方法后,对象资源将立即释放

HttpRequest.dispose();

equals

比较当前对象与给定的对象是否相等

Boolean HttpRequest.equals(object expected);

调用参数:

返回结果:


toString

返回对象的字符串表示,一般返回 "[Native Object]",对象可以根据自己的特性重新实现

String HttpRequest.toString();

返回结果:


toJSON

返回对象的 JSON 格式表示,一般返回对象定义的可读属性集合

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

调用参数:

返回结果:


valueOf

返回对象本身的数值

Value HttpRequest.valueOf();

返回结果: