14 #include <restinio/helpers/http_field_parsers/basics.hpp> 84 return std::tie(
this->token,
this->transfer_parameters) ==
85 std::tie(o.token, o.transfer_parameters);
108 return produce< transfer_encoding_value_t >(
109 non_empty_comma_separated_list_p< value_container_t >(
112 expected_caseless_token_p(
"chunked")
113 >> just_result( chunked() ),
114 expected_caseless_token_p(
"compress")
115 >> just_result( compress() ),
116 expected_caseless_token_p(
"deflate")
117 >> just_result( deflate() ),
118 expected_caseless_token_p(
"gzip")
119 >> just_result( gzip() ),
120 expected_caseless_token_p(
"x-gzip")
121 >> just_result( gzip() ),
122 produce< transfer_extension_t >(
123 token_p() >> to_lower() >> &transfer_extension_t::token,
124 params_with_value_p()
125 >> &transfer_extension_t::transfer_parameters
129 ) >> &transfer_encoding_value_t::values
144 return restinio::easy_parser::try_parse( what, make_parser() );
expected_t< std::optional< string_view_t >, not_found_t > find_first(const parameter_with_optional_value_container_t &where, string_view_t what)
A helper function to find the first occurence of a parameter with the specified value.
static constexpr known_transfer_coding_t deflate() noexcept
bool operator==(const transfer_extension_t &o) const noexcept
Tools for working with the value of Transfer-Encoding HTTP-field.
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, std::optional< Value_Type > >::type opt_value(const Parameter_Container ¶ms, string_view_t key)
Gets the value of a parameter specified by key wrapped in std::optional<Value_Type> if parameter exis...
parameter_with_mandatory_value_container_t transfer_parameters
static constexpr known_transfer_coding_t compress() noexcept
static expected_t< transfer_encoding_value_t, restinio::easy_parser::parse_error_t > try_parse(string_view_t what)
An attempt to parse Transfer-Encoding HTTP-field.
Description of transfer-extension.
static constexpr known_transfer_coding_t chunked() noexcept
static auto make_parser()
A factory function for a parser of Transfer-Encoding value.
known_transfer_coding_t
Enumeration for transfer-coding values from RFC7230.
static constexpr known_transfer_coding_t gzip() noexcept