boost::urls::url_base::set_encoded_userinfo

Set the userinfo.

Synopsis

Declared in <include/boost/url/url_base.hpp>

url_base&
set_encoded_userinfo(pct_string_view s);

Description

The userinfo is set to the given string, which may contain percent-escapes. Escapes in the string are preserved, and reserved characters in the string are percent-escaped in the result. The effects on the user and password depend on the presence of a colon (':') in the string:

  • If an unescaped colon exists, the characters up to the colon become the user and the rest of the characters after the colon become the password. In this case has_password returns true. Otherwise,
  • If there is no colon, the user is set to the string. The function has_password returns false.
  • NOTE

    The interpretation of the userinfo as individual user and password components is scheme-dependent. Transmitting passwords in URLs is deprecated.

    assert( url( "http://example.com" ).set_encoded_userinfo( "john%20doe" ).user() == "john doe" );

    Linear in `this->size() + s.size()`.

    Strong guarantee.

    Calls to allocate may throw. Exceptions thrown on invalid input.

    userinfo = [ [ user ] [ ':' password ] ] user = *( unreserved / pct-encoded / sub-delims ) password = *( unreserved / pct-encoded / sub-delims / ":" )
  • 3.2.1. User Information (rfc3986)
  • Exceptions

    Name Thrown on
    `s`

    contains an invalid percent-encoding.

    Parameters

    Name Description
    s

    The string to set.

    See Also

    remove_userinfo , set_userinfo .

    Created with MrDocs