26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_ENDPOINT_HANDLER_URL_PATHS_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_SRC_MRS_ENDPOINT_HANDLER_URL_PATHS_H_
46 using namespace std::string_literals;
48 return ::http::base::UriPathMatcher{
59 using namespace std::string_literals;
61 return ::http::base::UriPathMatcher{service_path +
"/"s +
k_debug,
false,
66 using namespace std::string_literals;
68 return ::http::base::UriPathMatcher{service_path +
"/"s +
k_metadata,
false,
73 using namespace std::string_literals;
75 return ::http::base::UriPathMatcher{service_schema_path +
"/"s +
k_metadata,
80 const std::string &obj_name) {
81 using namespace std::string_literals;
83 return ::http::base::UriPathMatcher{
84 service_schema_path + obj_name +
"/"s +
k_metadata,
false,
true};
88 const std::string &obj_name) {
89 using namespace std::string_literals;
91 return ::http::base::UriPathMatcher{
96 const std::string &service_schema_path) {
97 using namespace std::string_literals;
104 const std::string &schema_name) {
105 using namespace std::string_literals;
107 return ::http::base::UriPathMatcher{
112 using namespace std::string_literals;
119 const std::string &service_schema_path,
120 const bool is_index) {
121 using namespace std::string_literals;
122 std::vector<::http::base::UriPathMatcher>
result{{object_path,
true,
false}};
127 if (service_schema_path.empty())
128 result.emplace_back(service_schema_path,
false,
false);
130 result.emplace_back(service_schema_path +
"/",
false,
false);
137 const std::string &object_path,
bool is_index) {
138 using namespace std::string_literals;
139 std::vector<::http::base::UriPathMatcher>
result{
140 {service_schema_path + object_path,
false,
false}};
145 if (service_schema_path.empty())
146 result.emplace_back(service_schema_path,
false,
false);
148 result.emplace_back(service_schema_path +
"/",
false,
false);
155 if (
path.empty())
return {};
156 if (
path[0] ==
'/')
return path.substr(1);
161 return path_file(service_schema_path,
"",
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4666
static char * path
Definition: mysqldump.cc:150
bool ends_with(const std::string &value, const std::string &sst)
Definition: contains.h:67
Request::Uri Uri
Definition: request.cc:36
std::string url_sch_metadata_catalog(const ::http::base::Uri &uri)
Definition: url_paths.h:52
auto path_service_metadata(const std::string &service_path)
Definition: url_paths.h:65
auto path_schema_metadata(const std::string &service_schema_path)
Definition: url_paths.h:72
auto path_db_object_with_index(const std::string &object_path, const std::string &service_schema_path, const bool is_index)
Definition: url_paths.h:118
const std::string k_openapi_catalog
Definition: url_paths.h:40
auto path_obj_openapi_swagger(const std::string &service_schema_path, const std::string &obj_name)
Definition: url_paths.h:87
const std::string k_path_metadata_catalog
Definition: url_paths.h:41
const std::string k_debug
Definition: url_paths.h:43
auto path_schema_openapi_swagger(const std::string &service_schema_path)
Definition: url_paths.h:95
const std::string k_metadata
Definition: url_paths.h:42
auto path_service_debug(const std::string &service_path)
Definition: url_paths.h:58
std::string remove_leading_slash_from_path(const std::string &path)
Definition: url_paths.h:154
auto path_schema_openapi_swagger_alias(const std::string &service_name, const std::string &schema_name)
Definition: url_paths.h:103
auto path_schema_catalog(const std::string &service_schema_path)
Definition: url_paths.h:45
auto path_service_openapi_swagger(const std::string &service_path)
Definition: url_paths.h:111
auto path_object_metadata(const std::string &service_schema_path, const std::string &obj_name)
Definition: url_paths.h:79
auto path_content_file(const std::string &service_schema_path)
Definition: url_paths.h:160
auto path_file(std::string service_schema_path, const std::string &object_path, bool is_index)
Definition: url_paths.h:136
Definition: authorize_manager.h:48
struct result result
Definition: result.h:34