Commit Graph

23 Commits

Author SHA1 Message Date
Lu Qiuwen
2d02343b50 Close #65 修正进入GC队列的HTTP Session写日志时触发的连接非法段错误 2018-11-04 18:30:33 +08:00
Lu Qiuwen
b677d8ad0f 支持在应答侧suspend/resume功能,合并http_entry中处理request/response的流程 2018-10-28 20:13:17 +08:00
Lu Qiuwen
cf64f01f7f 修正suspend/resume语义实现的若干问题,增加自行构建request/response的header标志 2018-10-26 20:30:06 +08:00
Lu Qiuwen
0cd191b9e6 Close #60 修正POST请求无Content-Length字段时无法转发请求的问题
* 部分HTTP POST请求中无有Content-Length字段,导致无法确定请求的边界。
* 现修正为,当发现Content-Length字段缺失时,Passthrough整个TCP连接。
* TODO: 解析POST编码或回应411应答。
2018-10-25 16:47:19 +08:00
Lu Qiuwen
62b8089166 Close #33 增加HTTP Upgrade透明转发的功能 2018-10-24 15:40:26 +08:00
Lu Qiuwen
bcfe14055f 增加HTTP Session延迟回收机制,完善HTTP Session销毁流程 2018-10-22 21:22:59 +08:00
Lu Qiuwen
0f31b948ba 增加test-addr的MESA_handle_logger依赖 2018-10-22 15:33:24 +08:00
Lu Qiuwen
2bc366fb13 增加HTTP流式构造Body的接口及实现并修正HTTP单元测试用例 2018-10-16 10:45:47 +08:00
Lu Qiuwen
b8342e5358 #34 实现HTTP解析层的Suspend/Resume操作 2018-10-14 14:05:39 +08:00
Lu Qiuwen
20c55b74d8 集成GZIP压缩模块,支持对GZIP压缩的应答执行替换业务,并增加了单元测试用例。 2018-09-28 15:44:17 +08:00
Lu Qiuwen
a14b665f90 增加GZIP压缩功能及对应的单元测试 2018-09-28 15:44:17 +08:00
Lu Qiuwen
f47603c178 在HttpParser中集成解压缩模块并编写对应的单元测试用例。 2018-09-27 15:12:18 +08:00
Lu Qiuwen
8a4f02fbb8 增加对GZIP压缩编码的解压缩功能及单元测试用例 2018-09-26 21:31:17 +08:00
Lu Qiuwen
d0ab629f4c 初步调通HTTP请求头部内容替换业务 2018-09-25 20:32:24 +08:00
Lu Qiuwen
c2f0bde211 初步调通HTTP重定向业务
* 增加HTTP Status标准化定义及辅助函数;
* 增加HTTP解析层发送应答的功能
* 修正了Pangu HTTP实现导致段错误的一系列问题。
2018-09-25 10:17:50 +08:00
Lu Qiuwen
e128dba934 增加根据Host和URI拼接URL的功能 2018-09-23 20:01:11 +08:00
Lu Qiuwen
2798783641 初步完成HTTP应答侧解析功能,并修正一系类错误处理类的问题。 2018-09-23 17:33:05 +08:00
Lu Qiuwen
c0d1b9cf63 增加Per Stream摘要日志功能,修正TCP上、下游连接不能联动关闭的问题。
* 增加Per Stream摘要日志功能,记录连接四元组、HTTP URL等关键信息,便于调试;
* 原实现在上游连接关闭时,不能关闭下游连接(反之亦然),现修正。
2018-09-21 15:03:33 +08:00
Lu Qiuwen
9ccc3d329e 修正HTTP解析层处理HTTP-Header的错误流程
* 原流程在解析同一个Field-Value对时,无法正确处理Header多次调用拼成完整字符串的情况,现修正;
* 原流程在处理Field-Value底层Buffer时计算长度有误,导致清空buffer时剩余最后的'\0',现修正。
2018-09-18 19:01:12 +08:00
Lu Qiuwen
48c8d6a659 增加简单的HTTP协议插件管理层,基本联通HTTP解析层与业务层插件。 2018-09-17 15:45:50 +08:00
Lu Qiuwen
9e59110f8a 变更HTTP业务层回调函数定义,增加session系列操作方法定义及虚接口实现。
* 不提供业务层针对单个数据包(段)的处理函数(返回值),业务层只能对单个session定义操作;
* 通过session的方法(函数)通知解析层对该session的处理方法。
2018-09-12 15:29:35 +08:00
Lu Qiuwen
b6a2250786 完成HTTP请求侧解析调试,可以解析请求的URL。
* 增加插件管理功能(简单实现),可以调用解析层插件;
* 调整HTTP请求侧解析回调函数实现;
* 增加hexdump工具函数;
2018-09-07 17:27:58 +08:00
Lu Qiuwen
e31ecbb8db 完成HTTP解析请求侧解析基本流程
* 集成HTTP Parser,解析HTTP请求侧数据;
* 增加tfe_http.h中请求方法、应答状态的常量定义
* 变更tfe_http.h中HTTP头部标准定义,去掉非头部字段,增加TFE前缀避免冲突。
2018-09-07 17:27:58 +08:00