当前位置: 首页 > article >正文

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

四、代码展示


http://www.kler.cn/a/378536.html

相关文章:

  • k8s 查看cpu使用率最高的pod
  • 【HTML】——VSCode 基本使用入门和常见操作
  • HarmonyOS 移动应用开发
  • 微服务系列二:跨微服务请求优化,注册中心+OpenFeign
  • 408 计算机组成原理、操作系统:异常和中断的总结
  • 实体(Entity)详解
  • 六西格玛项目助力,手术机器人零部件国产化稳中求胜——张驰咨询
  • LLaMA系列一直在假装开源...
  • 基于YOLO11/v10/v8/v5深度学习的危险驾驶行为检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
  • 【p2p、分布式,区块链笔记 Torrent】通过网络编程库net集成bittorrent-protocol协议
  • ps技巧,来源于网络
  • Linux -- 信号的常见产生方式
  • MySQL日志——针对实习面试
  • 聚观早报 | 苹果推出新款iMac;华为Mate 70系列将上市
  • 并发编程中的CAS思想
  • 富格林:曝光欺诈陷阱纠正误区
  • ssm042在线云音乐系统的设计与实现+jsp(论文+源码)_kaic
  • 筛选Excel数据
  • 显卡服务器的作用都有哪些?
  • C++之控制结构
  • 关于工作中的“规则”分享
  • Controller调用@FeignClient
  • vue-i18n国际化多国语言i18n国际语言代码对照表
  • Python | Leetcode Python题解之第525题连续数组
  • 项目总结(3)
  • Apache 配置出错常见问题及解决方法