26#ifndef ROUTER_SRC_HTTP_INCLUDE_HTTP_BASE_URI_H_
27#define ROUTER_SRC_HTTP_INCLUDE_HTTP_BASE_URI_H_
47 Uri(
const std::string &uri);
55 virtual std::string
join()
const;
58 virtual std::string get_scheme()
const;
59 virtual void set_scheme(
const std::string &scheme);
61 virtual std::string get_userinfo()
const;
62 virtual void set_userinfo(
const std::string &userinfo);
64 virtual std::string get_host()
const;
65 virtual void set_host(
const std::string &
host);
68 virtual int32_t get_port()
const;
69 virtual void set_port(int32_t
port);
73 virtual std::string get_path()
const;
74 virtual void set_path(
const std::string &
path);
76 virtual std::string get_fragment()
const;
77 virtual void set_fragment(
const std::string &fragment);
79 virtual std::string get_query()
const;
80 virtual bool set_query(
const std::string &
query);
93 Uri &operator=(
Uri &&other);
94 Uri &operator=(
const Uri &other);
97 operator bool()
const;
115 const std::string &uri_path);
std::map< std::string, std::string > QueryElements
Definition: uri.h:42
std::vector< std::string > PathElements
Definition: uri.h:43
mysqlrouter::URI uri_impl_
Definition: uri.h:98
Parse and create URIs according to RFC3986.
Definition: uri.h:66
#define HTTP_COMMON_EXPORT
Definition: http_common_export.h:15
static char * query
Definition: myisam_ftdump.cc:47
const char * host
Definition: mysqladmin.cc:66
static char * path
Definition: mysqldump.cc:150
HTTP_COMMON_EXPORT std::string http_uri_path_canonicalize(const std::string &uri_path)
canonicalize a URI path.
Definition: uri.cc:195
Request::Uri Uri
Definition: request.cc:36
Definition: connection.h:55
std::string join(const detail::range auto &rng, std::string_view delim)
join elements of a range into a string separated by a delimiter.
Definition: string.h:74
std::string join_path(const std::vector< std::string > &components)
Definition: utils_path_unix.cc:57
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33