boost::urls::url_base::set_encoded_password :: Boost Libraries Documentation

# boost::urls::url_base::set_encoded_password

Set the password.

## Synopsis

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

    url_base&
    set_encoded_password(pct_string_view s);

## Description

This function sets the password in the userinfo to the 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 interpretation of the userinfo as individual user and password components is scheme‐dependent. Transmitting passwords in URLs is deprecated.

## Example

    assert( url("http://user@example.com").set_encoded_password( "pass" ).encoded_userinfo() == "user:pass" );

## Postconditions

    this->has_password() == true

## Exception Safety

Strong guarantee. Calls to allocate may throw.

## BNF

    userinfo      = [ [ user ] [ ':' password ] ]

    user          = *( unreserved / pct-encoded / sub-delims )
    password      = *( unreserved / pct-encoded / sub-delims / ":" )

## Specification

- 3.2.1. User Information (rfc3986)

## Exceptions

Name | Thrown on
`system_error` | `s` contains an invalid percent‐encoding.

## Return Value

`*this`

## Parameters

Name | Description
s | The string to set. This string may contain any characters, including nulls.

## See Also

`remove_password`, `set_encoded_password`, `set_encoded_user`, `set_user`.

Created with MrDocs