boost::urls::authority_view::host_address

Return the host

Synopsis

Declared in header <boost/url/authority_view.hpp>

template<class StringToken = string_token::return_string>
StringToken::result_type
host_address(StringToken&& token) const;

Description

The value returned by this function depends on the type of host returned from the function host_type .

  • If the type is host_type::ipv4 , then the IPv4 address string is returned.

  • If the type is host_type::ipv6 , then the IPv6 address string is returned, without any enclosing brackets.

  • If the type is host_type::ipvfuture , then the IPvFuture address string is returned, without any enclosing brackets.

  • If the type is host_type::name , then the host name string is returned. Any percent-escapes in the string are decoded first.

  • If the type is host_type::none , then an empty string is returned.

Example

assert( url_view( "https://[1::6:c0a8:1]/" ).host_address() == "1::6:c0a8:1" );

Complexity

Linear in this->host_address().size().

Exception Safety

Calls to allocate may throw.

BNF

host        = IP-literal / IPv4address / reg-name

IP-literal  = "[" ( IPv6address / IPvFuture  ) "]"

reg-name    = *( unreserved / pct-encoded / "-" / ".")

Specification