1#ifndef TENDUKE_NET_URLBUILDER_H
2#define TENDUKE_NET_URLBUILDER_H
28 explicit URLBuilder(const ::tenduke::net::URLCodec &urls);
36 const ::tenduke::net::URLCodec &urls,
37 const ::tenduke::net::URL *url
50 std::unique_ptr<::tenduke::net::URL>
buildPtr();
58 URLBuilder &scheme(
const char *scheme, std::size_t length);
60 URLBuilder &username(
const char *username, std::size_t length);
61 URLBuilder &username(
const std::string &scheme);
62 URLBuilder &password(
const char *password, std::size_t length);
63 URLBuilder &password(
const std::string &password);
64 URLBuilder &hostname(
const char *hostname, std::size_t length);
65 URLBuilder &hostname(
const std::string &hostname);
81 URLBuilder &fragment(
const char *fragment, std::size_t length);
82 URLBuilder &fragment(
const std::string &fragment);
186 std::size_t nameLength
201 std::size_t nameLength,
203 std::size_t valueLength
211 std::string
pctEncode(
const std::string &value)
const;
214 void putParameter (
const std::string &name,
const std::string &value);
217 std::string schemeValue;
218 std::string usernameValue;
219 std::string passwordValue;
220 std::string hostnameValue;
221 std::uint16_t portValue;
222 std::string pathValue;
223 std::string fragmentValue;
224 std::vector<std::pair<std::string, std::string>> parameters;
226 const ::tenduke::net::URLCodec &urls;
std::string buildString()
Builds the URL directly into a string.
Definition URLBuilder.cpp:10
URLBuilder & queryParameters(const std::map< std::string, std::string > &pParameters)
Sets multiple query parameters.
Definition URLBuilder.cpp:294
URLBuilder & path(const std::string &path)
Sets the entire path: Overwrites any existing path.
Definition URLBuilder.cpp:150
std::string pctEncode(const std::string &value) const
Utility to PCT-encode a string.
Definition URLBuilder.cpp:364
URLBuilder & baseURL(const ::tenduke::net::URL &url)
Sets the base URL.
Definition URLBuilder.cpp:54
::tenduke::net::URL build()
Builds the URL.
Definition URLBuilder.cpp:25
URLBuilder(const ::tenduke::net::URLCodec &urls)
Constructs a new instance.
Definition URLBuilder.cpp:370
URLBuilder & encodedQueryParameter(const char *name, const char *value)
Adds an encoded query parameter.
Definition URLBuilder.cpp:303
URLBuilder & queryParameter(const char *name)
Adds query parameter without a value.
Definition URLBuilder.cpp:217
URLBuilder & appendPath(const std::string &pathComponent)
Appends a path component.
Definition URLBuilder.cpp:173
std::unique_ptr<::tenduke::net::URL > buildPtr()
Builds the URL into a pointer.
Definition URLBuilder.cpp:39
URL-related coding / encoding functionality.
Definition URLCodec.h:13
Represents URL.
Definition URL.h:21
Generic networking support.
Definition AbstractURLCodec.h:6
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16