自学内容网 自学内容网

项目模块十四: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 才是长连接,其他全是短连接

四、代码展示


原文地址:https://blog.csdn.net/qhy850716/article/details/143466103

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!