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:
has_password
returns true. Otherwise,has_password
returns false.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 / ":" )
Name | Thrown on |
---|---|
system_error |
s contains an invalid percent-encoding. |
*this
Name | Description |
---|---|
s | The string to set. |