|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
HTTP服务器请求结构 更多...
#include <http_server_message.hpp>
Public 成员函数 | |
| NEFORCE_NODISCARD string_view | parameter (const string &name) const noexcept |
| 获取参数值 | |
| void | set_parameter (const string &name, string value) |
| 设置参数 | |
| NEFORCE_NODISCARD bool | has_parameter (const string &name) const noexcept |
| 检查参数是否存在 | |
| NEFORCE_NODISCARD string_view | cookie (const string &name) const noexcept |
| 获取Cookie值 | |
| void | set_cookie (const string &name, string value) |
| 设置Cookie值 | |
| NEFORCE_NODISCARD bool | has_cookie (const string &name) const noexcept |
| 检查Cookie是否存在 | |
| NEFORCE_NODISCARD string_view | header (const string &name) const noexcept |
| 获取请求头值 | |
| void | set_header (const string &name, string value) |
| 设置请求头 | |
| NEFORCE_NODISCARD bool | has_header (const string &name) const noexcept |
| 检查请求头是否存在 | |
| NEFORCE_NODISCARD bool | has_session () const noexcept |
| 检查是否有关联的有效会话 | |
| NEFORCE_NODISCARD string_view | content_type () const noexcept |
| 获取Content-Type | |
| NEFORCE_NODISCARD bool | is_keep_alive () const noexcept |
| 检查是否为Keep-Alive连接 | |
| NEFORCE_NODISCARD string_view | client_ip () const noexcept |
| 获取客户端真实IP | |
| NEFORCE_NODISCARD string_view | user_agent () const noexcept |
| 获取User-Agent | |
| NEFORCE_NODISCARD string_view | referer () const noexcept |
| 获取Referer | |
| NEFORCE_NODISCARD bool | is_ajax () const noexcept |
| 检查是否为AJAX请求 | |
| void | clear () |
| 清空请求所有数据 | |
| NEFORCE_NODISCARD string | to_string () const |
| 序列化为HTTP请求字符串 | |
| Public 成员函数 继承自 iobject< http_server_request > | |
| NEFORCE_CONSTEXPR20 bool | try_parse (const string_view str) noexcept |
| 尝试从字符串解析对象 | |
| Public 成员函数 继承自 istringify< http_server_request > | |
| NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string | to_string () const |
| 转换为字符串 | |
静态 Public 成员函数 | |
| static NEFORCE_NODISCARD http_server_request | parse (string_view str) |
| 从字符串解析HTTP请求 | |
| 静态 Public 成员函数 继承自 iobject< http_server_request > | |
| static NEFORCE_NODISCARD constexpr http_server_request | parse (const string_view str) |
| 从字符串解析对象 | |
Public 属性 | |
| http_method | method = http_method::GET() |
| HTTP方法 | |
| string | path = "/" |
| 请求路径 | |
| string | version = "HTTP/1.1" |
| HTTP版本 | |
| string | query {} |
| 查询字符串 | |
| string | body {} |
| 请求正文 | |
| unordered_map< string, string > | headers |
| 请求头 | |
| unordered_map< string, string > | cookies |
| Cookie | |
| unordered_map< string, string > | parameters |
| 请求参数 | |
| unordered_map< string, string > | form_data |
| 表单数据 | |
| http_session * | session = nullptr |
| 会话对象 | |
HTTP服务器请求结构
表示一个HTTP请求,包含请求行、头部、正文以及解析后的参数。 支持从字符串解析请求,并提供便捷的访问方法。
使用示例:
在文件 http_server_message.hpp 第 71 行定义.
|
noexcept |
获取客户端真实IP
优先从X-Forwarded-For头获取,其次从X-Real-IP头获取。 适用于经过代理的请求。
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
获取请求头值
| name | 头名称 |
在文件 http_server_message.hpp 第 140 行定义.
被这些函数引用 content_type(), is_ajax(), is_keep_alive(), referer() , 以及 user_agent().
|
inlinenoexcept |
检查是否为AJAX请求
检查X-Requested-With头是否为XMLHttpRequest。
在文件 http_server_message.hpp 第 207 行定义.
引用了 header().
|
inlinenoexcept |
|
inlinenoexcept |
|
static |
|
inlinenoexcept |
| NEFORCE_NODISCARD string http_server_request::to_string | ( | ) | const |
序列化为HTTP请求字符串
|
inlinenoexcept |
获取User-Agent
在文件 http_server_message.hpp 第 193 行定义.
引用了 header() , 以及 user_agent().
被这些函数引用 user_agent().