RESTinio
Toggle main menu visibility
Loading...
Searching...
No Matches
restinio
helpers
http_field_parsers
content-encoding.hpp
Go to the documentation of this file.
1
/*
2
* RESTinio
3
*/
4
5
/*!
6
* @file
7
* @brief Stuff related to value of Content-Encoding HTTP-field.
8
*
9
* @since v.0.6.1
10
*/
11
12
#
pragma
once
13
14
#
include
<
restinio
/
helpers
/
http_field_parsers
/
basics
.
hpp
>
15
16
namespace
restinio
17
{
18
19
namespace
http_field_parsers
20
{
21
22
//
23
// content_encoding_value_t
24
//
25
/*!
26
* @brief Tools for working with the value of Content-Encoding HTTP-field.
27
*
28
* This struct represents parsed value of HTTP-field Content-Encoding
29
* (see https://tools.ietf.org/html/rfc7231#section-3.1.2.2):
30
@verbatim
31
Content-Encoding = 1#content-coding
32
content-coding = token
33
@endverbatim
34
*
35
* @note
36
* Parameter names are converted to lower case during the parsing.
37
* Parameter values are left as they are.
38
*
39
* @since v.0.6.1
40
*/
41
struct
content_encoding_value_t
42
{
43
using
value_container_t
=
std
::
vector
<
std
::
string
>;
44
45
value_container_t
values
;
46
47
/*!
48
* @brief A factory function for a parser of Content-Encoding value.
49
*
50
* @since v.0.6.1
51
*/
52
[[nodiscard]]
53
static
auto
54
make_parser
()
55
{
56
return
produce<
content_encoding_value_t
>(
57
non_empty_comma_separated_list_p< value_container_t >(
58
token_p() >> to_lower()
59
) >> &content_encoding_value_t::values
60
);
61
}
62
63
/*!
64
* @brief An attempt to parse Content-Encoding HTTP-field.
65
*
66
* @since v.0.6.1
67
*/
68
[[nodiscard]]
69
static
expected_t
<
content_encoding_value_t
,
restinio
::
easy_parser
::
parse_error_t
>
70
try_parse
( string_view_t what )
71
{
72
return
restinio
::
easy_parser
::try_parse( what, make_parser() );
73
}
74
};
75
76
}
/* namespace http_field_parsers */
77
78
}
/* namespace restinio */
restinio::easy_parser
Definition
easy_parser.hpp:42
restinio::http_field_parsers
Definition
accept-charset.hpp:20
restinio
Definition
sendfile_operation_default.ipp:12
restinio::http_field_parsers::content_encoding_value_t
Tools for working with the value of Content-Encoding HTTP-field.
Definition
content-encoding.hpp:42
restinio::http_field_parsers::content_encoding_value_t::try_parse
static expected_t< content_encoding_value_t, restinio::easy_parser::parse_error_t > try_parse(string_view_t what)
An attempt to parse Content-Encoding HTTP-field.
Definition
content-encoding.hpp:70
restinio::http_field_parsers::content_encoding_value_t::make_parser
static auto make_parser()
A factory function for a parser of Content-Encoding value.
Definition
content-encoding.hpp:54
restinio::http_field_parsers::content_encoding_value_t::values
value_container_t values
Definition
content-encoding.hpp:45
Generated by
1.17.0