restinio::http_field_parsers::host_details Namespace Reference

## Classes

struct | sub_delims_predicate_t
| A preducate for symbol_producer_template that checks that a symbol is sub-delims symbol from RCF3986. More...
struct | unreserved_predicate_t
| A preducate for symbol_producer_template that checks that a symbol is unreserved symbol from RCF3986. More...

## Functions

RESTINIO_NODISCARD auto | unreserved_symbol_p ()
| A factory for producer that extracts unreserved symbols. More...
RESTINIO_NODISCARD auto | sub_delims_symbol_p ()
| A factory for producer that extracts sub-delims symbols. More...
RESTINIO_NODISCARD auto | ipv4_address_p ()
| A factory for producer of IPv4address value. More...
RESTINIO_NODISCARD auto | ipv6_address_p ()
| A factory for producer of ipv6_address value. More...
RESTINIO_NODISCARD auto | reg_name_p ()
| A factory for producer of reg-name value. More...

## Function Documentation

## ipv4_address_p()

RESTINIO_NODISCARD auto restinio::http_field_parsers::host_details::ipv4_address_p | ( |  | ) |

inline

A factory for producer of IPv4address value.

Produces `std::string`.

Uses the following grammar (see https://tools.ietf.org/html/rfc3986#appendix-A):

    IPv4address   = dec-octet "." dec-octet "." dec-octet "." dec-octet

    dec-octet     = DIGIT                 ; 0-9
                  / %x31-39 DIGIT         ; 10-99
                  / "1" 2DIGIT            ; 100-199
                  / "2" %x30-34 DIGIT     ; 200-249
                  / "25" %x30-35          ; 250-255

Since
  v.0.6.9

Definition at line 149 of file host.hpp.

## ipv6_address_p()

RESTINIO_NODISCARD auto restinio::http_field_parsers::host_details::ipv6_address_p | ( |  | ) |

inline

A factory for producer of ipv6_address value.

Produces `std::string`.

Uses the following grammar (see https://tools.ietf.org/html/rfc3986#appendix-A):

       IPv6address   =                            6( h16 ":" ) ls32
                     /                       "::" 5( h16 ":" ) ls32
                     / [               h16 ] "::" 4( h16 ":" ) ls32
                     / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
                     / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
                     / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
                     / [ *4( h16 ":" ) h16 ] "::"              ls32
                     / [ *5( h16 ":" ) h16 ] "::"              h16
                     / [ *6( h16 ":" ) h16 ] "::"

       h16           = 1*4HEXDIG
       ls32          = ( h16 ":" h16 ) / IPv4address

Since
  v.0.6.9

Definition at line 235 of file host.hpp.

## reg_name_p()

RESTINIO_NODISCARD auto restinio::http_field_parsers::host_details::reg_name_p | ( |  | ) |

inline

A factory for producer of reg-name value.

Produces `std::string`.

Note
  reg-name is defined in RFC3986 as:

      reg-name      = *( unreserved / pct-encoded / sub-delims )

  but this producer uses more strict grammar (because empty reg-name in Host HTTP-field has no sense):

      reg-name      = 1*( unreserved / pct-encoded / sub-delims )

Since
  v.0.6.9

Definition at line 353 of file host.hpp.

## sub_delims_symbol_p()

RESTINIO_NODISCARD auto restinio::http_field_parsers::host_details::sub_delims_symbol_p | ( |  | ) |

inline

A factory for producer that extracts sub-delims symbols.

See: https://tools.ietf.org/html/rfc3986#appendix-A

Since
  v.0.6.9

Definition at line 121 of file host.hpp.

## unreserved_symbol_p()

RESTINIO_NODISCARD auto restinio::http_field_parsers::host_details::unreserved_symbol_p | ( |  | ) |

inline

A factory for producer that extracts unreserved symbols.

See: https://tools.ietf.org/html/rfc3986#appendix-A

Since
  v.0.6.9

Definition at line 72 of file host.hpp.