RESTinio
|
Classes | |
struct | byte_ranges_specifier_t |
A struct that holds a container of byte_range_specs. More... | |
struct | double_ended_range_t |
Value of range for the case where both ends of the range are defined. More... | |
struct | open_ended_range_t |
Value of range for the case where only left border of the range is defined. More... | |
struct | other_ranges_specifier_t |
A description of a range value of units those are not "bytes". More... | |
struct | suffix_length_t |
Value of range for the case where only length of range's suffix is defined. More... | |
Typedefs | |
template<typename T > | |
using | byte_range_spec_t = variant_t< double_ended_range_t< T >, open_ended_range_t< T >, suffix_length_t< T > > |
Variant type for all possible cases of specification for one range. More... | |
template<typename T > | |
using | value_t = variant_t< byte_ranges_specifier_t< T >, other_ranges_specifier_t > |
Variant type for holding parsed value of Range HTTP-field. More... | |
Functions | |
template<typename T > | |
RESTINIO_NODISCARD auto | make_byte_range_spec_parser () |
Factory for creation of a parser for byte_range_spec values. More... | |
RESTINIO_NODISCARD auto | make_bytes_prefix_parser () |
Factory for a parser of 'bytes=' prefix. More... | |
template<typename T > | |
RESTINIO_NODISCARD auto | make_byte_ranges_specifier_parser () |
Factory for creation of a parser for byte_ranges_specifier values. More... | |
RESTINIO_NODISCARD auto | make_other_ranges_specifier_parser () |
Factory for creation of a parser for other_ranges_specifier values. More... | |
using restinio::http_field_parsers::range_details::byte_range_spec_t = typedef variant_t< double_ended_range_t<T>, open_ended_range_t<T>, suffix_length_t<T> > |
using restinio::http_field_parsers::range_details::value_t = typedef variant_t< byte_ranges_specifier_t<T>, other_ranges_specifier_t > |
RESTINIO_NODISCARD auto restinio::http_field_parsers::range_details::make_byte_range_spec_parser | ( | ) |
Factory for creation of a parser for byte_range_spec values.
Creates a parser for the following rule:
byte-range-spec = byte-range / suffix-byte-range-spec byte-range = first-byte-pos "-" [ last-byte-pos ] first-byte-pos = 1*DIGIT last-byte-pos = 1*DIGIT suffix-byte-range-spec = "-" suffix-length suffix-length = 1*DIGIT
The parser returned produces value of byte_range_spec_t<T>.
RESTINIO_NODISCARD auto restinio::http_field_parsers::range_details::make_byte_ranges_specifier_parser | ( | ) |
Factory for creation of a parser for byte_ranges_specifier values.
Creates a parser for the following rule:
byte-ranges-specifier = bytes-unit "=" byte-range-set byte-range-set = 1#( byte-range-spec / suffix-byte-range-spec ) byte-range-spec = first-byte-pos "-" [ last-byte-pos ] first-byte-pos = 1*DIGIT last-byte-pos = 1*DIGIT suffix-byte-range-spec = "-" suffix-length suffix-length = 1*DIGIT
The parser returned produces value of byte_ranges_specifier_t<T>.
|
inline |
|
inline |
Factory for creation of a parser for other_ranges_specifier values.
Creates a parser for the following rule:
other-ranges-specifier = other-range-unit "=" other-range-set other-range-set = 1*VCHAR
The parser returned produces value of other_ranges_specifier_t.