25namespace http_field_parsers
39namespace try_extract_field_details
51template<
typename Parsed_Field_Type >
60template<
typename,
typename = restinio::utils::metaprogramming::
void_t<> >
69 expected_t< T, restinio::easy_parser::parse_error_t >,
70 decltype(T::try_parse(std::declval<string_view_t>()))
81template<
typename Parsed_Field_Type >
89 "Parsed_Field_Type should have static try_parse method that "
90 "accepts string_view_t and returns "
91 "expected_t<Parsed_Field_Type, parse_error_t>" );
102 return { parse_result.error() };
148template<
typename Parsed_Field_Type,
typename Extra_Data >
161 using namespace try_extract_field_details;
163 return try_extract_field_value_from< Parsed_Field_Type >(
206template<
typename Parsed_Field_Type,
typename Extra_Data >
219 using namespace try_extract_field_details;
221 return try_extract_field_value_from< Parsed_Field_Type >(
Information about parsing error.
const http_request_header_t & header() const noexcept
Get request header.
#define RESTINIO_NODISCARD
An very small, simple and somewhat limited implementation of recursive-descent parser.
bool_constant< false > false_type
bool_constant< true > true_type
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 try_parse_field(const generic_request_t< Extra_Data > &req, string_view_t field_name, string_view_t default_value=string_view_t{})
A helper function for extraction and parsing a value of HTTP-field.
nonstd::string_view string_view_t
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, optional_t< Value_Type > >::type opt_value(const Parameter_Container ¶ms, string_view_t key)
Gets the value of a parameter specified by key wrapped in optional_t<Value_Type> if parameter exists ...
http_field_t
C++ enum that repeats nodejs c-style enum.
A special type to be returned in the case if HTTP-field isn't found in a request.