1#ifndef NEFORCE_NETWORK_HTTP_HTTP_CLIENT_MESSAGE_HPP__
2#define NEFORCE_NETWORK_HTTP_HTTP_CLIENT_MESSAGE_HPP__
25NEFORCE_BEGIN_NAMESPACE__
63 const auto it =
headers.find(key);
64 if (it ==
headers.end() || it->second.empty()) {
67 return it->second[0].view();
77 const auto it =
headers.find(key);
94 return code >= 200 && code < 300;
103 return code >= 300 && code < 400;
112 return code >= 400 && code < 500;
121 return code >= 500 && code < 600;
154 const auto it =
headers.find(key);
155 if (it ==
headers.end() || it->second.empty()) {
158 return it->second.view();
188NEFORCE_END_NAMESPACE__
unsigned short uint16_t
16位无符号整数类型
unsigned long long uint64_t
64位无符号整数类型
duration< int64_t, milli > milliseconds
毫秒持续时间
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
basic_string_view< char > string_view
字符字符串视图
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr bool empty(const Container &cont) noexcept(noexcept(cont.empty()))
检查容器是否为空
unordered_map< string, string > query_params
查询参数
void set_header(const string &key, string value)
设置请求头
NEFORCE_NODISCARD string build_full_path() const
构建完整请求路径
void add_query_param(const string &key, string value)
添加查询参数
NEFORCE_NODISCARD string_view header(const string &key) const noexcept
获取请求头值
unordered_map< string, string > headers
请求头
NEFORCE_NODISCARD string_view header(const string &key) const noexcept
获取第一个响应头值
milliseconds send_time
发送请求耗时
NEFORCE_NODISCARD bool is_success() const noexcept
检查是否为成功响应(2xx)
NEFORCE_NODISCARD bool has_header(const string &key) const noexcept
检查响应头是否存在
milliseconds total_time
总耗时
http_status status
HTTP状态码
milliseconds connect_time
连接建立耗时
NEFORCE_NODISCARD const vector< string > & headers_all(const string &key) const
获取所有同名响应头值
unordered_map< string, vector< string > > headers
响应头
NEFORCE_NODISCARD bool is_server_error() const noexcept
检查是否为服务器错误响应(5xx)
NEFORCE_NODISCARD string_view content_type() const noexcept
获取Content-Type
vector< http_cookie > cookies
解析后的Cookie
NEFORCE_NODISCARD bool is_client_error() const noexcept
检查是否为客户端错误响应(4xx)
NEFORCE_NODISCARD bool is_redirect() const noexcept
检查是否为重定向响应(3xx)
uint64_t content_length
Content-Length值
string effective_url
最终请求的URL
milliseconds receive_time
接收响应耗时
uint16_t http_version_major
HTTP主版本号
string status_message
状态消息
uint16_t http_version_minor
HTTP次版本号
static const http_method & GET()
GET方法