| Home | Libraries | People | FAQ | More

##### static_url_base::set_query

(Inherited from `url_base`)

Set the query.

###### Synopsis

    url_base&
    set_query(
        core::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

- 3.4. Query (rfc3986)
- Query string (Wikipedia)

###### See Also

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