RESTinio
Loading...
Searching...
No Matches
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
16namespace restinio
17{
18
19namespace 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 */
42{
44
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
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]]
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 */
Tools for working with the value of Content-Encoding HTTP-field.
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.
static auto make_parser()
A factory function for a parser of Content-Encoding value.