[#77F84C972C82DC0BDEE8BF4C7140FB0784F010D0]

Class authority_view

A non-owning reference to a valid authority

Synopsis

            class authority_view;
        

Member Functions

Friends

Description

Objects of this type represent valid authority strings constructed from a parsed, external character buffer whose storage is managed by the caller. That is, it acts like a `core::string_view` in terms of ownership. The caller is responsible for ensuring that the lifetime of the underlying character buffer extends until it is no longer referenced.

Example 1

Construction from a string parses the input as an authority and throws an exception on error. Upon success, the constructed object points to the passed character buffer; ownership is not transferred.

authority_view a( "user:pass@www.example.com:8080" );

Example 2

The parsing function parse_authority returns a result containing either a valid authority_view upon succcess, otherwise it contain an error. The error can be converted to an exception by the caller if desired:

system::result< authority_view > rv = parse_authority( "user:pass@www.example.com:8080" );

BNF

authority = [ userinfo "@" ] host [ ":" port ] userinfo = user [ ":" [ password ] ] user = *( unreserved / pct-encoded / sub-delims ) password = *( unreserved / pct-encoded / sub-delims / ":" ) host = IP-literal / IPv4address / reg-name port = *DIGIT

Specification

  • 3.2. Authority (rfc3986)