RESTinio
cache-control.hpp
Go to the documentation of this file.
1/*
2 * RESTinio
3 */
4
12#pragma once
13
15
16namespace restinio
17{
18
19namespace http_field_parsers
20{
21
22//
23// cache_control_value_t
24//
43{
45
47
49
56 static auto
58 {
59 return produce< cache_control_value_t >(
60 non_empty_comma_separated_list_p< directive_container_t >(
61 produce< directive_t >(
62 token_p() >> to_lower() >> &directive_t::first,
63 maybe(
64 symbol('='),
66 token_p() >> &directive_t::second,
67 quoted_string_p() >> &directive_t::second
68 )
69 )
70 )
72 );
73 }
74
83 {
85 }
86};
87
88} /* namespace http_field_parsers */
89
90} /* namespace restinio */
91
Utilities for parsing values of http-fields.
#define RESTINIO_NODISCARD
RESTINIO_NODISCARD auto maybe(Clauses &&... clauses)
A factory function to create an optional clause.
RESTINIO_NODISCARD auto symbol(char expected) noexcept
A factory function to create a clause that expects the speficied symbol, extracts it and then skips i...
RESTINIO_NODISCARD expected_t< typename Producer::result_type, parse_error_t > try_parse(string_view_t from, Producer producer)
Perform the parsing of the specified content by using specified value producer.
RESTINIO_NODISCARD auto to_lower() noexcept
A factory function to create a to_lower_transformer.
RESTINIO_NODISCARD auto alternatives(Clauses &&... clauses)
A factory function to create an alternatives clause.
std::pair< std::string, restinio::optional_t< std::string > > parameter_with_optional_value_t
A type that describes a parameter with optional value.
Definition: basics.hpp:1696
RESTINIO_NODISCARD auto token_p() noexcept
A factory function to create a token_producer.
Definition: basics.hpp:985
RESTINIO_NODISCARD auto quoted_string_p() noexcept
A factory function to create a quoted_string_producer.
Definition: basics.hpp:1012
std::vector< parameter_with_optional_value_t > parameter_with_optional_value_container_t
A type of container for parameters with optional values.
Definition: basics.hpp:1707
nonstd::string_view string_view_t
Definition: string_view.hpp:19
nonstd::expected< T, E > expected_t
Definition: expected.hpp:22
Tools for working with the value of Cache-Control HTTP-field.
parameter_with_optional_value_container_t directive_container_t
static RESTINIO_NODISCARD expected_t< cache_control_value_t, restinio::easy_parser::parse_error_t > try_parse(string_view_t what)
An attempt to parse Cache-Control HTTP-field.
static RESTINIO_NODISCARD auto make_parser()
A factory function for a parser of Cache-Control value.