1. 说明
- Http协议解析类
- 一个HttpContext类,可复制,使用了Buffer,HttpRequest类
2. 变量
-
枚举类型
- HttpRequestParseState,四种请求头的解析状态枚举:解析请求行,请求头,内容体,解析完毕
-
HttpRequestParseState state_;
- 解析状态
-
HttpRequest request_
- 请求对象,把缓冲区的内容解析到这里
3. 函数
1. 私有
- bool processRequestLine(const char* begin, const char* end);
- 解析请求头第一行,对request_请求对象进行设置,如果解析出错就返回false
2. 公有
-
构造
- 初始化为解析请求行状态
-
bool gotAll() const
- 判断是否解析完
-
void reset()
- 解析完一个请求后,清空状态和这个请求头,为下一次解析做准备
-
const HttpRequest& request() const
-
HttpRequest& request()
- 返回request_请求对象
-
bool parseRequest(Buffer* buf, Timestamp receiveTime);
- 先解析请求行,再解析请求头,解析请求内容没有实现,代码易理解
本文详细介绍了HTTP协议解析的实现方式,重点讲解了HttpContext类的结构与功能,包括枚举类型HttpRequestParseState用于表示解析状态,以及类中关键函数如processRequestLine和parseRequest的用途。

1818

被折叠的 条评论
为什么被折叠?



