RESTinio

content-type.hpp
Go to the documentation of this file.
1/*
2 * RESTinio
3 */
4
12#pragma once
13
14#include <restinio/helpers/http_field_parsers/media-type.hpp>
15
16 namespace restinio
17{
18
19 namespace http_field_parsers
20{
21
22//
23// content_type_value_t
24//
38 struct content_type_value_t
39{
40 media_type_value_t media_type;
41
47 RESTINIO_NODISCARD
48 static auto
49 make_parser()
50 {
51 return produce< content_type_value_t >(
52 media_type_value_t::make_default_parser()
53 >> &content_type_value_t::media_type
54 );
55 }
56
62 RESTINIO_NODISCARD
63 static expected_t< content_type_value_t, restinio::easy_parser::parse_error_t >
64 try_parse( string_view_t what )
65 {
66 return restinio::easy_parser::try_parse( what, make_parser() );
67 }
68};
69
70} /* namespace http_field_parsers */
71
72} /* namespace restinio */
73
RESTINIO_NODISCARD
#define RESTINIO_NODISCARD
Definition: compiler_features.hpp:33
media-type.hpp
Stuff related to Media-Type value in HTTP-fields.
restinio::easy_parser::try_parse
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.
Definition: easy_parser.hpp:5042
restinio
Definition: asio_include.hpp:21
restinio::string_view_t
nonstd::string_view string_view_t
Definition: string_view.hpp:19
restinio::expected_t
nonstd::expected< T, E > expected_t
Definition: expected.hpp:22
restinio::http_field_parsers::content_type_value_t
Tools for working with the value of Content-Type HTTP-field.
Definition: content-type.hpp:39
restinio::http_field_parsers::content_type_value_t::try_parse
static RESTINIO_NODISCARD expected_t< content_type_value_t, restinio::easy_parser::parse_error_t > try_parse(string_view_t what)
An attempt to parse Content-Encoding HTTP-field.
Definition: content-type.hpp:64
restinio::http_field_parsers::content_type_value_t::make_parser
static RESTINIO_NODISCARD auto make_parser()
A factory function for a parser of Content-Type value.
Definition: content-type.hpp:49
restinio::http_field_parsers::content_type_value_t::media_type
media_type_value_t media_type
Definition: content-type.hpp:40
restinio::http_field_parsers::media_type_value_t
Tools for working with media-type in HTTP-fields.
Definition: media-type.hpp:42
restinio::http_field_parsers::media_type_value_t::make_default_parser
static RESTINIO_NODISCARD auto make_default_parser()
Definition: media-type.hpp:66