RESTinio
Loading...
Searching...
No Matches
connection.hpp
Go to the documentation of this file.
1/*
2 * RESTinio
3 */
4
5/*!
6 * @file
7 * @brief Stuff related to value of Connection HTTP-field.
8 *
9 * @since v.0.6.9
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// connection_value_t
24//
25/*!
26 * @brief Tools for working with the value of Connection HTTP-field.
27 *
28 * This struct represents parsed value of HTTP-field Connection
29 * (see https://tools.ietf.org/html/rfc7230#section-6):
30@verbatim
31Connection = 1#connection-option
32connection-option = token
33@endverbatim
34 *
35 * @note
36 * Connection options are converted to lower case during the parsing.
37 *
38 * @since v.0.6.9
39 */
41{
43
45
46 /*!
47 * @brief A factory function for a parser of Connection value.
48 *
49 * @since v.0.6.9
50 */
51 [[nodiscard]]
52 static auto
54 {
55 return produce< connection_value_t >(
56 non_empty_comma_separated_list_p< value_container_t >(
57 token_p() >> to_lower()
58 ) >> &connection_value_t::values
59 );
60 }
61
62 /*!
63 * @brief An attempt to parse Connection HTTP-field.
64 *
65 * @since v.0.6.9
66 */
67 [[nodiscard]]
69 try_parse( string_view_t what )
70 {
71 return restinio::easy_parser::try_parse( what, make_parser() );
72 }
73};
74
75} /* namespace http_field_parsers */
76
77} /* namespace restinio */
Tools for working with the value of Connection HTTP-field.
static auto make_parser()
A factory function for a parser of Connection value.
static expected_t< connection_value_t, restinio::easy_parser::parse_error_t > try_parse(string_view_t what)
An attempt to parse Connection HTTP-field.