RESTinio
Loading...
Searching...
No Matches
accept-language.hpp
Go to the documentation of this file.
1/*
2 * RESTinio
3 */
4
11
12#pragma once
13
15
16namespace restinio
17{
18
19namespace http_field_parsers
20{
21
23{
24
25namespace ep_impl = restinio::easy_parser::impl;
26namespace hfp_impl = restinio::http_field_parsers::impl;
27
28[[nodiscard]]
29inline auto
31{
33 repeat(1u, 8u, alpha_symbol_p() >> to_container()),
34 repeat(0u, N,
35 symbol_p('-') >> to_container(),
37 )
38 );
39}
40
41[[nodiscard]]
42inline auto
52
53} /* namespace accept_language_details */
54
55//
56// accept_language_value_t
57//
77{
78 struct item_t
79 {
80 std::string language_range;
82 };
83
84 using item_container_t = std::vector< item_t >;
85
87
93 [[nodiscard]]
94 static auto
108
114 [[nodiscard]]
117 {
119 }
120};
121
122} /* namespace http_field_parsers */
123
124} /* namespace restinio */
125
Utilities for parsing values of http-fields.
A class for holding the parsed value of qvalue from RFC7231.
Definition basics.hpp:136
static constexpr qvalue_details::extremum_max_t maximum
The indicator that tells that new qvalue object should have the maximal allowed value.
Definition basics.hpp:147
auto to_container()
A factory function to create a to_container_consumer.
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.
auto as_result() noexcept
A factory function to create a as_result_consumer.
auto maybe(Clauses &&... clauses)
A factory function to create an optional clause.
auto symbol_p(char expected) noexcept
A factory function to create a symbol_producer.
auto alternatives(Clauses &&... clauses)
A factory function to create an alternatives clause.
auto produce(Clauses &&... clauses)
A factory function to create a producer that creates an instance of the target type by using specifie...
constexpr std::size_t N
A special marker that means infinite repetitions.
auto repeat(std::size_t min_occurences, std::size_t max_occurences, Clauses &&... clauses)
A factory function to create repetitor of subclauses.
auto non_empty_comma_separated_list_p(Element_Producer element)
A factory for a producer that handles non-empty list of comma-separated values.
Definition basics.hpp:1459
auto alpha_symbol_p()
A factory for producer of ALPHA symbols.
Definition basics.hpp:790
auto alphanum_symbol_p()
A factory for producer of symbol that an ALPHA or DIGIT.
Definition basics.hpp:812
auto weight_p() noexcept
A factory function to create a producer for weight parameter.
Definition basics.hpp:1279
std::string_view string_view_t
nonstd::expected< T, E > expected_t
Definition expected.hpp:18
Tools for working with the value of Accept-Language HTTP-field.
static auto make_parser()
A factory function for a parser of Accept-Language value.
static expected_t< accept_language_value_t, restinio::easy_parser::parse_error_t > try_parse(string_view_t what)
An attempt to parse Accept-Language HTTP-field.