|
10Duke Scale C++ Client
|
#include <URLBuilder.h>
Very simple URL-builder.
IMPORTANT Unless specifically documented, URLBuilder does not decode / encode any parts of the URL (see documentation of tenduke::net::URL, which stores the components unencoded).
Public Member Functions | |
| URLBuilder (const ::tenduke::net::URLCodec &urls) | |
| Constructs a new instance. | |
| URLBuilder (const ::tenduke::net::URLCodec &urls, const ::tenduke::net::URL *url) | |
| Constructs a new instance, initializing fields from given URL. | |
| ::tenduke::net::URL | build () |
| Builds the URL. | |
| std::unique_ptr<::tenduke::net::URL > | buildPtr () |
| Builds the URL into a pointer. | |
| std::string | buildString () |
| Builds the URL directly into a string. | |
| URLBuilder & | scheme (const char *scheme, std::size_t length) |
| URLBuilder & | scheme (const std::string &scheme) |
| URLBuilder & | username (const char *username, std::size_t length) |
| URLBuilder & | username (const std::string &scheme) |
| URLBuilder & | password (const char *password, std::size_t length) |
| URLBuilder & | password (const std::string &password) |
| URLBuilder & | hostname (const char *hostname, std::size_t length) |
| URLBuilder & | hostname (const std::string &hostname) |
| URLBuilder & | port (std::uint16_t port) |
| URLBuilder & | path (const std::string &path) |
| Sets the entire path: Overwrites any existing path. | |
| URLBuilder & | path (const char *path, std::size_t length) |
| Sets the entire path: Overwrites any existing path. | |
| URLBuilder & | fragment (const char *fragment, std::size_t length) |
| URLBuilder & | fragment (const std::string &fragment) |
| URLBuilder & | appendPath (const std::string &pathComponent) |
| Appends a path component. | |
| URLBuilder & | baseURL (const ::tenduke::net::URL &url) |
| Sets the base URL. | |
| URLBuilder & | queryParameter (const char *name) |
| Adds query parameter without a value. | |
| URLBuilder & | queryParameter (const std::string &name) |
| Adds query parameter without a value. | |
| URLBuilder & | queryParameter (const char *name, const char *value) |
| Adds query parameter. | |
| URLBuilder & | queryParameter (const std::string &name, const std::string &value) |
| Adds query parameter. | |
| URLBuilder & | queryParameter (const char *name, std::size_t length) |
| Adds query parameter. | |
| URLBuilder & | queryParameter (const char *name, std::size_t nameLength, const char *value, std::size_t valueLength) |
| Adds query parameter. | |
| URLBuilder & | queryParameters (const std::map< std::string, std::string > &pParameters) |
| Sets multiple query parameters. | |
| URLBuilder & | encodedQueryParameter (const char *name, const char *value) |
| Adds an encoded query parameter. | |
| URLBuilder & | encodedQueryParameter (const std::string &name, const std::string &value="") |
| Adds an encoded query parameter. | |
| URLBuilder & | encodedQueryParameter (const char *name, std::size_t nameLength) |
| Adds an encoded query parameter. | |
| URLBuilder & | encodedQueryParameter (const char *name, std::size_t nameLength, const char *value, std::size_t valueLength) |
| Adds an encoded query parameter. | |
| std::string | pctEncode (const std::string &value) const |
| Utility to PCT-encode a string. | |
|
explicit |
Constructs a new instance.
| urls | - |
| tenduke::net::URLBuilder::URLBuilder | ( | const ::tenduke::net::URLCodec & | urls, |
| const ::tenduke::net::URL * | url ) |
Constructs a new instance, initializing fields from given URL.
| urls | - |
| url | - |
| URLBuilder & tenduke::net::URLBuilder::appendPath | ( | const std::string & | pathComponent | ) |
Appends a path component.
This method automatically appends "/" as necessary.
| pathComponent |
| xdnet::URLBuilder & tenduke::net::URLBuilder::baseURL | ( | const ::tenduke::net::URL & | url | ) |
| std::unique_ptr<::URL > tenduke::net::URLBuilder::buildPtr | ( | ) |
| std::string tenduke::net::URLBuilder::buildString | ( | ) |
| xdnet::URLBuilder & tenduke::net::URLBuilder::encodedQueryParameter | ( | const char * | name, |
| const char * | value ) |
Adds an encoded query parameter.
The caller has already encoded the parameter name and value: The method will decode them.
| name | name of the parameter |
| value | value of the parameter |
| xdnet::URLBuilder & tenduke::net::URLBuilder::encodedQueryParameter | ( | const char * | name, |
| std::size_t | nameLength ) |
Adds an encoded query parameter.
The caller has already encoded the parameter name: The method will decode it.
| name | name of the parameter |
| nameLength | length of the parameter |
| xdnet::URLBuilder & tenduke::net::URLBuilder::encodedQueryParameter | ( | const char * | name, |
| std::size_t | nameLength, | ||
| const char * | value, | ||
| std::size_t | valueLength ) |
Adds an encoded query parameter.
The caller has already encoded the parameter name and value: The method will decode them.
| name | name of the parameter |
| nameLength | length of the parameter |
| value | value of the parameter. Optional. If not present, a parameter without value will be created. |
| valueLength | length of the value |
| xdnet::URLBuilder & tenduke::net::URLBuilder::encodedQueryParameter | ( | const std::string & | name, |
| const std::string & | value = "" ) |
Adds an encoded query parameter.
The caller has already encoded the parameter name and value: The method will decode them.
| name | name of the parameter |
| value | value of the parameter. Optional. If not present, a parameter without value will be created. |
| xdnet::URLBuilder & tenduke::net::URLBuilder::path | ( | const char * | path, |
| std::size_t | length ) |
Sets the entire path: Overwrites any existing path.
| path | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::path | ( | const std::string & | path | ) |
Sets the entire path: Overwrites any existing path.
| path | - |
| std::string tenduke::net::URLBuilder::pctEncode | ( | const std::string & | value | ) | const |
Utility to PCT-encode a string.
| value | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameter | ( | const char * | name | ) |
Adds query parameter without a value.
| name | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameter | ( | const char * | name, |
| const char * | value ) |
Adds query parameter.
| name | - |
| value | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameter | ( | const char * | name, |
| std::size_t | length ) |
Adds query parameter.
| name | - |
| length | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameter | ( | const char * | name, |
| std::size_t | nameLength, | ||
| const char * | value, | ||
| std::size_t | valueLength ) |
Adds query parameter.
| name | - |
| nameLength | - |
| value | - |
| valueLength | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameter | ( | const std::string & | name | ) |
Adds query parameter without a value.
| name | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameter | ( | const std::string & | name, |
| const std::string & | value ) |
Adds query parameter.
| name | - |
| value | - |
| xdnet::URLBuilder & tenduke::net::URLBuilder::queryParameters | ( | const std::map< std::string, std::string > & | pParameters | ) |
Sets multiple query parameters.
| pParameters | - |