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