NexusForce
1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
multipart_parser.hpp
浏览该文件的文档.
1
#ifndef NEFORCE_NETWORK_HTTP_MULTIPART_PARSER_HPP__
2
#define NEFORCE_NETWORK_HTTP_MULTIPART_PARSER_HPP__
3
8
9
#include "
NeForce/core/container/unordered_map.hpp
"
10
#include "
NeForce/core/string/string.hpp
"
11
#include "
NeForce/core/utility/byte_size.hpp
"
12
NEFORCE_BEGIN_NAMESPACE__
13
NEFORCE_BEGIN_HTTP__
14
19
24
struct
multipart_field
{
25
string
name
;
26
string
filename
;
27
string
content_type
;
28
byte_vector
data
;
29
unordered_map<string, string>
headers
;
30
31
NEFORCE_NODISCARD
bool
is_file() const noexcept {
return
!
filename
.empty(); }
32
};
33
41
class
NEFORCE_API multipart_parser {
42
public
:
44
byte_size
max_field_size
{10_MB};
46
size_t
max_fields
{256};
48
byte_size
max_total_size
{100_MB};
49
50
multipart_parser
() =
default
;
51
58
vector<multipart_field>
parse
(
string_view
body,
string_view
boundary);
59
65
NEFORCE_NODISCARD
static
string_view
extract_boundary
(
string_view
content_type);
66
};
67
// HTTP
69
70
NEFORCE_END_HTTP__
71
NEFORCE_END_NAMESPACE__
72
#endif
// NEFORCE_NETWORK_HTTP_MULTIPART_PARSER_HPP__
byte_size.hpp
字节大小表示和转换工具
neforce::byte_size
字节大小类
定义
byte_size.hpp:146
neforce::http::multipart_parser
multipart/form-data 解析器
定义
multipart_parser.hpp:41
neforce::http::multipart_parser::max_field_size
byte_size max_field_size
最大单字段大小
定义
multipart_parser.hpp:44
neforce::http::multipart_parser::max_total_size
byte_size max_total_size
最大总请求体大小
定义
multipart_parser.hpp:48
neforce::http::multipart_parser::extract_boundary
static string_view extract_boundary(string_view content_type)
从Content-Type头提取boundary
neforce::http::multipart_parser::max_fields
size_t max_fields
最大字段数
定义
multipart_parser.hpp:46
neforce::http::multipart_parser::parse
vector< multipart_field > parse(string_view body, string_view boundary)
解析multipart请求体
neforce::unordered_map
无序映射容器
定义
unordered_map.hpp:38
neforce::vector
动态大小数组容器
定义
vector.hpp:167
neforce::byte_vector
vector< byte_t > byte_vector
字节向量类型别名
定义
vector.hpp:1235
neforce::string_view
basic_string_view< char > string_view
字符字符串视图
定义
string_view.hpp:22
string.hpp
字符串类型别名和实用函数
neforce::http::multipart_field
multipart/form-data 单个字段
定义
multipart_parser.hpp:24
neforce::http::multipart_field::data
byte_vector data
字段数据
定义
multipart_parser.hpp:28
neforce::http::multipart_field::filename
string filename
上传文件名
定义
multipart_parser.hpp:26
neforce::http::multipart_field::name
string name
表单字段名
定义
multipart_parser.hpp:25
neforce::http::multipart_field::headers
unordered_map< string, string > headers
字段头部
定义
multipart_parser.hpp:29
neforce::http::multipart_field::content_type
string content_type
字段的Content-Type
定义
multipart_parser.hpp:27
unordered_map.hpp
无序映射容器
include
NeForce
network
http
multipart_parser.hpp
制作者
1.16.0