| Home | Libraries | People | FAQ | More

##### url::set_query

Set the query.

###### Synopsis

    url&
    set_query(
        string_view s);

###### Description

This sets the query to the string, which can be empty. An empty query is distinct from having no query. Reserved characters in the string are percent-escaped in the result.

###### Example

    assert( url( "http://example.com" ).set_query( "id=42" ).query() == "id=42" );

###### Postconditions

    this->has_query() == true && this->query() == s

###### Exception Safety

Strong guarantee. Calls to allocate may throw.

###### Parameters

Name | Description
--- | ---
`s` | The string to set.

###### BNF

    query           = *( pchar / "/" / "?" )

    query-param     = key [ "=" value ]
    query-params    = [ query-param ] *( "&" query-param )

###### Specification

- <a href="https://datatracker.ietf.org/doc/html/rfc3986#section-3.4 >3.4. Query (rfc3986)
- Query string (Wikipedia)

###### See Also

`encoded_params`, `params`, `remove_query`, `set_encoded_query`.