[#D4491986ECD1F8A4838065659C8D00FC6751E85B]

Function url:: set_encoded_params

Set the query params

Synopsis

            url&
set_encoded_params(std::initializer_list ps);
        

Description

This sets the query params to the elements in the list, which may contain percent-escapes and can be empty.

An empty list of params is distinct from having no query.

Escapes in the string are preserved, and reserved characters in the string are percent-escaped in the result.

Example

assert( url( "http://example.com" ).set_encoded_params( {"id", "42"} ).encoded_query() == "id=42" );

Postconditions

this->has_query() == true

Complexity

Linear.

Exception Safety

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

BNF

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

Specification

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