26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_HTTP_URL_PATH_QUERY_H_ 
   27#define ROUTER_SRC_REST_MRS_SRC_MRS_HTTP_URL_PATH_QUERY_H_ 
   52  using Keys = std::vector<std::string>;
 
   53  using Values = std::vector<std::string>;
 
   58                                     const std::string &
value) {
 
   80                              std::optional<std::string> *
value)
 const {
 
   83    if (it != 
query.end()) {
 
   92                              std::string *
value)
 const {
 
  101                                         const std::string &
key) {
 
  109                            const char *conversion_failure_message) {
 
  112                               conversion_failure_message);
 
  114      return std::stoull(
value);
 
  119                               conversion_failure_message);
 
  124                                 uint64_t *out_limit) {
 
  125    if (
query.empty()) 
return;
 
  127    auto of = 
query.find(
"offset");
 
  128    auto li = 
query.find(
"limit");
 
  130    if (of != 
query.end()) {
 
  132          to_uint64(of->second.c_str(), 
"Invalid value for 'offset' parameter");
 
  135    if (li != 
query.end()) {
 
  137          to_uint64(li->second.c_str(), 
"Invalid value for 'limit' parameter");
 
Url(const HttpUri &uri)
Definition: url.h:55
 
bool is_query_parameter(const std::string &key) const
Definition: url.h:96
 
std::vector< std::string > Keys
Definition: url.h:52
 
std::string get_query_parameter(const std::string &key) const
Definition: url.h:72
 
HttpUri uri_
Definition: url.h:146
 
std::string get_path()
Definition: url.h:62
 
bool remove_query_parameter(const std::string &key)
Definition: url.h:68
 
bool get_if_query_parameter(const std::string &key, std::optional< std::string > *value) const
Definition: url.h:79
 
std::string get_query()
Definition: url.h:64
 
static std::string get_query_parameter(const HttpUri &uri, const std::string &key)
Definition: url.h:100
 
bool get_if_query_parameter(const std::string &key, std::string *value) const
Definition: url.h:91
 
static void parse_offset_limit(const Parameters &query, uint64_t *out_offset, uint64_t *out_limit)
Definition: url.h:123
 
static uint64_t to_uint64(const char *value, const char *conversion_failure_message)
Definition: url.h:108
 
void parse_offset_limit(uint64_t *out_offset, uint64_t *out_limit) const
Definition: url.h:141
 
static void append_query_parameter(HttpUri &uri, const std::string &key, const std::string &value)
Definition: url.h:57
 
std::vector< std::string > Values
Definition: url.h:53
 
HttpUri::QueryElements Parameters
Definition: url.h:51
 
Parameters get_query_elements()
Definition: url.h:66
 
virtual std::string get_query() const
Definition: uri.cc:172
 
std::map< std::string, std::string > QueryElements
Definition: uri.h:42
 
virtual QueryElements & get_query_elements()
Definition: uri.cc:178
 
virtual std::string get_path() const
get path part of the URI.
Definition: uri.cc:160
 
static char * query
Definition: myisam_ftdump.cc:47
 
bool get_value(Container &container, const typename Container::key_type &key, typename Container::mapped_type *out)
Definition: map.h:46
 
constexpr key_type BadRequest
Definition: status_code.h:64
 
Request::Uri Uri
Definition: request.cc:36
 
Definition: connection.h:56
 
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
 
struct result result
Definition: result.h:34
 
required string key
Definition: replication_asynchronous_connection_failover.proto:60
 
uint32_t index
Definition: url.h:47
 
std::string name
Definition: url.h:48