[#19019DF8D7BE0F7793CB87DEFB1D5CA5AE7379F5]

Function url_base:: set_encoded_path

Set the path.

Synopsis

            url_base&
set_encoded_path(pct_string_view s);
        

Description

This function sets the path to the string, which may contain percent-escapes and can be empty. Escapes in the string are preserved, and reserved characters in the string are percent-escaped in the result.

NOTE

The library may adjust the final result to ensure that no other parts of the url is semantically affected.

Example

url u( "http://www.example.com" ); u.set_encoded_path( "path/to/file.txt" ); assert( u.encoded_path() == "/path/to/file.txt" );

Complexity

Linear in `this->size() + s.size()`.

Exception Safety

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

BNF

path = path-abempty ; begins with "/" or is empty / path-absolute ; begins with "/" but not "//" / path-noscheme ; begins with a non-colon segment / path-rootless ; begins with a segment / path-empty ; zero characters path-abempty = *( "/" segment ) path-absolute = "/" [ segment-nz *( "/" segment ) ] path-noscheme = segment-nz-nc *( "/" segment ) path-rootless = segment-nz *( "/" segment ) path-empty = 0

Specification

  • 3.3. Path (rfc3986)