Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext
static_url_base::set_encoded_userinfo

(Inherited from url_base)

Set the userinfo.

Synopsis
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:

Remarks

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

Example
assert( [link url.ref.boost__urls__url_base.url `url`]( "http://example.com" ).[link url.ref.boost__urls__static_url_base.set_encoded_userinfo `set_encoded_userinfo`]( "john%20doe" ).[link url.ref.boost__urls__static_url_base.user `user`]() == "john doe" );
Complexity

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

Exception Safety

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

Exceptions

Type

Thrown On

system_error

s contains an invalid percent-encoding.

Parameters

Name

Description

s

The string to set.

BNF
[link url.ref.boost__urls__static_url_base.userinfo `userinfo`]      = [ [ [link url.ref.boost__urls__static_url_base.user `user`] ] [ ':' [link url.ref.boost__urls__static_url_base.password `password`] ] ]

[link url.ref.boost__urls__static_url_base.user `user`]          = *( unreserved / pct-encoded / sub-delims )
[link url.ref.boost__urls__static_url_base.password `password`]      = *( unreserved / pct-encoded / sub-delims / ":" )
Specification
See Also

remove_userinfo, set_userinfo.


PrevUpHomeNext