Object 内置对象

对象 HttpHandler

http 协议转换处理器

用以将数据流转换为 http 协议消息,创建方式:

1
var hdlr = new mq.HttpHandler(...);

或者:

1
var hdlr = new http.Handler(...);

继承关系

构造函数

HttpHandler

创建一个 http 协议处理器对象,将流对象的数据转变为 http 消息对象

1
new HttpHandler(Handler hdlr);

调用参数:

  • hdlr: Handler, 内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler

成员属性

forceGZIP

Boolean, 查询和设置是否允强制使用 gzip 压缩输出,缺省为 false

1
Boolean HttpHandler.forceGZIP;

maxHeadersCount

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

1
Integer HttpHandler.maxHeadersCount;

maxBodySize

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

1
Integer HttpHandler.maxBodySize;

serverName

String, 查询和设置服务器名称,缺省为:fibjs/0.x.0

1
String HttpHandler.serverName;

handler

Handler, WebSocket 协议转换处理器当前事件处理接口对象

1
Handler HttpHandler.handler;

stats

Stats, 查询 WebSocket 包协议转换处理器的工作状态

1
readonly Stats HttpHandler.stats;

返回的结果为一个 Stats 对象,结构如下:

1 2 3 4 5 6 7
{ total: 1000, // 总计处理的请求 pendding: 100, // 当前正在处理的请求 request: 10, // 新建的请求 response: 10, // 发送的响应 error: 100 // 发生的错误 }

成员函数

enableCrossOrigin

允许跨域请求

1
HttpHandler.enableCrossOrigin(String allowHeaders = "Content-Type");

调用参数:

  • allowHeaders: String, 指定接受的 http 头字段

onerror

设置错误处理器

1
HttpHandler.onerror(Object hdlrs);

调用参数:

  • hdlrs: Object, 指定不同的错误的处理器,key 是错误号,value 是处理器,可以是内置消息处理器,处理函数,链式处理数组,路由对象,详见 mq.Handler

使用方式:

1 2 3 4 5 6
hdlr.onerror({ "404": function(v) { ... }, "500": new mq.Routing(...) })

invoke

处理一个消息或对象

1
Handler HttpHandler.invoke(object v) async;

调用参数:

  • v: object, 指定处理的消息或对象

返回结果:

  • Handler, 返回下一步的处理器

toString

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

1
String HttpHandler.toString();

返回结果:

  • String, 返回对象的字符串表示

toJSON

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

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

调用参数:

  • key: String, 未使用

返回结果:

  • Value, 返回包含可 JSON 序列化的值