26#ifndef ROUTER_SRC_REST_MRS_SRC_MRS_REST_HANDLER_H_
27#define ROUTER_SRC_REST_MRS_SRC_MRS_REST_HANDLER_H_
44 const std::optional<std::string> &
options);
54 const std::vector<UriPathMatcher> &rest_path_matcher,
55 const std::optional<std::string> &
options,
84 const std::vector<database::entry::AuthPrivilege> &privileges,
85 const UniversalId &service_id,
const std::string &service_path,
86 const UniversalId &schema_id,
const std::string &schema_path,
87 const UniversalId &db_object_id,
const std::string &db_object_path);
Definition: protocol.h:33
Definition: authorize_manager.h:58
Definition: rest_handler.h:77
Definition: rest_handler.h:141
bool log_level_is_debug_
Definition: handler.h:98
std::vector< UriPathMatcher > rest_path_matcher_
Definition: handler.h:92
bool may_check_access() const override
Definition: handler.cc:303
const std::string protocol_
Definition: handler.h:95
void initialize(const Configuration &configuration) override
Definition: handler.cc:255
bool log_level_is_info_
Definition: handler.h:99
bool request_begin(RequestContext *ctxt) override
Definition: handler.cc:280
bool request_error(RequestContext *ctxt, const http::Error &e) override
Error handler.
Definition: handler.cc:284
interface::AuthorizeManager * authorization_manager_
Definition: handler.h:94
void authorization(RequestContext *ctxt) override
Definition: handler.cc:297
const std::string & empty_path() const
Definition: handler.cc:305
~Handler() override
Definition: handler.cc:232
std::shared_ptr< Configuration > configuration_
Definition: handler.h:96
void request_end(RequestContext *ctxt) override
Definition: handler.cc:282
const interface::Options & get_options() const override
Definition: handler.cc:288
uint32_t check_privileges(const std::vector< database::entry::AuthPrivilege > &privileges, const UniversalId &service_id, const std::string &service_path, const UniversalId &schema_id, const std::string &schema_path, const UniversalId &db_object_id, const std::string &db_object_path)
Definition: handler.cc:45
Handler(const Protocol protocol, const std::string &url_host, const std::vector< UriPathMatcher > &rest_path_matcher, const std::optional< std::string > &options, interface::AuthorizeManager *auth_manager)
Definition: handler.cc:199
const std::string url_host_
Definition: handler.h:91
std::vector< void * > handler_id_
Definition: handler.h:93
void throw_unauthorize_when_check_auth_fails(RequestContext *)
Definition: handler.cc:290
interface::Options options_
Definition: handler.h:90
const std::string & get_protocol() const override
Definition: handler.cc:301
const std::string & get_url_host() const override
Definition: handler.cc:299
Request::Uri Uri
Definition: request.cc:36
Protocol
Definition: protocol.h:35
mrs::interface::Options parse_json_options(const std::optional< std::string > &options)
Definition: handler.cc:192
Definition: authorize_manager.h:48
mrs::database::entry::UniversalId UniversalId
Definition: universal_id.h:33
Definition: options.cc:57
required string configuration
Definition: replication_asynchronous_connection_failover.proto:49
Definition: uri_path_matcher.h:40
Definition: request_context.h:47