set_encoded_params

Set the query params

Synopsis

url_base& set_encoded_params( initializer_list<param_pct_view> ps) noexcept;

Declared in file <src/url_base.cpp> at line 1446

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)