项目模块十四:HttpRequest模块
一、项目设计思路
存储HTTP请求要素,提供简单接口
二、成员变量
全部公有
string _method; // 请求方法
string _path; // 资源路径
string _version; // 协议版本
string _body; // 请求正文
smatch _matches; // 资源路径正则提取
unordered_map<string, string> _headers; // 头部字段
unordered_map<string, string> _params; // 查询字符串
三、成员函数
全部公有
1、构造函数
设置协议版本就行
2、清空数据 void ReSet()
清空成员变量里面所有数据
3、添加报头字段 void SetHeader(const string &key, const string &val)
哈希表添加键值对
4、查询报头字段 bool HasHeader(const string &key) const
哈希表查询
5、获取报头字段 string GetHeader(const string &key) const
查询并返回 val
6、添加查询字段 void SetParam(const string &key, const string &val)
哈希表添加键值对
7、查询查询字段 bool HasParam(const string &key) const
哈希表查询
8、获取查询字段 string GetParam(const string &key) const
查询并返回 val
9、返回正文长度 size_t GetLength() const
查询报头字段 Content-Length 的 val
10、是否是长短连接 bool Close() const
只有报头字段 Connection 是 keep-alive 才是长连接,其他全是短连接