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_
58class AuthorizeManager;
141class RestHandler :
public std::enable_shared_from_this<RestHandler> {
181 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:83
std::vector< std::string > allowed_origins
Definition: rest_handler.h:88
AllowedOriginsType
Definition: rest_handler.h:85
@ AllowSpecified
Definition: rest_handler.h:85
@ AllowAll
Definition: rest_handler.h:85
@ AllowNone
Definition: rest_handler.h:85
AllowedOriginsType type
Definition: rest_handler.h:87
Definition: rest_handler.h:95
Request request
Definition: rest_handler.h:98
Http()
Definition: rest_handler.h:97
Response response
Definition: rest_handler.h:99
Definition: rest_handler.h:91
Debug()
Definition: rest_handler.h:93
class mrs::interface::Options::Debug::Http http
bool log_exceptions
Definition: rest_handler.h:101
Definition: rest_handler.h:121
DriverType driver
Definition: rest_handler.h:128
std::vector< std::string > monitoring_sql
Definition: rest_handler.h:131
std::string event_schema
Definition: rest_handler.h:129
mrs::database::entry::ColumnType ColumnType
Definition: rest_handler.h:123
DriverType
Definition: rest_handler.h:125
std::string name
Definition: rest_handler.h:127
std::string status_data_json_schema
Definition: rest_handler.h:130
Definition: rest_handler.h:111
uint64_t wait
Definition: rest_handler.h:113
bool embed_wait
Definition: rest_handler.h:114
uint64_t timeout
Definition: rest_handler.h:115
bool passthrough_db_user
Definition: rest_handler.h:118
Definition: rest_handler.h:134
bool include_links
Definition: rest_handler.h:136
uint64_t cache_ttl_ms
Definition: rest_handler.h:137
Definition: rest_handler.h:77
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:79
class mrs::interface::Options::Debug debug
Parameters parameters_
Definition: rest_handler.h:81
class mrs::interface::Options::AllowedOrigins allowed_origins
Definition: rest_handler.h:62
bool header_
Definition: rest_handler.h:64
bool body_
Definition: rest_handler.h:65
Definition: rest_handler.h:68
Definition: rest_handler.h:72
bool detailed_errors_
Definition: rest_handler.h:74
Definition: rest_handler.h:150
virtual ~Configuration()=default
virtual bool may_log_request() const
Definition: rest_handler.h:154
Definition: rest_handler.h:141
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:148
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:145
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:56
ColumnType
Definition: column_type.h:48
::http::base::Request HttpRequest
Definition: utilities.h:37
std::map< std::string, std::string > Parameters
Definition: rest_handler.h:60
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