26#ifndef ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_MRS_INTERFACE_REST_HANDLER_H_
27#define ROUTER_SRC_MYSQL_REST_SERVICE_INCLUDE_MRS_INTERFACE_REST_HANDLER_H_
57class AuthorizeManager;
135class RestHandler :
public std::enable_shared_from_this<RestHandler> {
175 const std::vector<uint8_t> &document) = 0;
mysqlrouter::MySQLSession MySQLSession
Definition: bootstrap_mysql_account.cc:41
Class representing an error.
Definition: error.h:48
Definition: rest_handler.h:82
std::vector< std::string > allowed_origins
Definition: rest_handler.h:87
AllowedOriginsType
Definition: rest_handler.h:84
@ AllowSpecified
Definition: rest_handler.h:84
@ AllowAll
Definition: rest_handler.h:84
@ AllowNone
Definition: rest_handler.h:84
AllowedOriginsType type
Definition: rest_handler.h:86
Definition: rest_handler.h:94
Request request
Definition: rest_handler.h:97
Http()
Definition: rest_handler.h:96
Response response
Definition: rest_handler.h:98
Definition: rest_handler.h:90
Debug()
Definition: rest_handler.h:92
class mrs::interface::Options::Debug::Http http
bool log_exceptions
Definition: rest_handler.h:100
Definition: rest_handler.h:117
DriverType driver
Definition: rest_handler.h:122
std::vector< std::string > monitoring_sql
Definition: rest_handler.h:125
std::string event_schema
Definition: rest_handler.h:123
DriverType
Definition: rest_handler.h:119
std::string name
Definition: rest_handler.h:121
std::string status_data_json_schema
Definition: rest_handler.h:124
Definition: rest_handler.h:110
uint64_t wait
Definition: rest_handler.h:112
bool embed_wait
Definition: rest_handler.h:113
uint64_t timeout
Definition: rest_handler.h:114
Definition: rest_handler.h:128
bool include_links
Definition: rest_handler.h:130
uint64_t cache_ttl_ms
Definition: rest_handler.h:131
Definition: rest_handler.h:76
class mrs::interface::Options::Metadata metadata
class mrs::interface::Options::Query query
class mrs::interface::Options::MysqlTask mysql_task
class mrs::interface::Options::Result result
Options()
Definition: rest_handler.h:78
class mrs::interface::Options::Debug debug
Parameters parameters_
Definition: rest_handler.h:80
class mrs::interface::Options::AllowedOrigins allowed_origins
Definition: rest_handler.h:61
bool header_
Definition: rest_handler.h:63
bool body_
Definition: rest_handler.h:64
Definition: rest_handler.h:67
Definition: rest_handler.h:71
bool detailed_errors_
Definition: rest_handler.h:73
Definition: rest_handler.h:144
virtual ~Configuration()=default
virtual bool may_log_request() const
Definition: rest_handler.h:148
Definition: rest_handler.h:135
virtual const std::string & get_protocol() const =0
virtual const std::string & get_url_host() const =0
virtual HttpResult handle_post(RequestContext *ctxt, const std::vector< uint8_t > &document)=0
virtual Authorization requires_authentication() const =0
virtual bool request_begin(RequestContext *ctxt)=0
virtual void request_end(RequestContext *ctxt)=0
virtual HttpResult handle_get(RequestContext *ctxt)=0
virtual UniversalId get_schema_id() const =0
virtual uint32_t get_access_rights() const =0
virtual const Options & get_options() const =0
virtual HttpResult handle_put(RequestContext *ctxt)=0
virtual void authorization(RequestContext *ctxt)=0
virtual HttpResult handle_delete(RequestContext *ctxt)=0
virtual bool may_check_access() const =0
virtual void initialize(const Configuration &configuration)=0
virtual const std::string & get_service_path() const =0
Authorization
Definition: rest_handler.h:142
virtual const std::string & get_db_object_path() const =0
virtual ~RestHandler()=default
virtual UniversalId get_db_object_id() const =0
mrs::interface::Parameters Parameters
Definition: rest_handler.h:139
virtual bool request_error(RequestContext *ctxt, const http::Error &e)=0
virtual UniversalId get_service_id() const =0
virtual const std::string & get_schema_path() const =0
Definition: mysql_session.h:157
mrs::rest::Handler::HttpResult HttpResult
Definition: handler_content_file.cc:43
Definition: connection.h:55
::http::base::Request HttpRequest
Definition: utilities.h:37
std::map< std::string, std::string > Parameters
Definition: rest_handler.h:59
Definition: authorize_manager.h:48
mrs::database::entry::UniversalId UniversalId
Definition: universal_id.h:33
required string configuration
Definition: replication_asynchronous_connection_failover.proto:49
Definition: http_result.h:37
Definition: request_context.h:47