25#ifndef MYSQLROUTER_HTTP_SERVER_COMPONENT_INCLUDED
26#define MYSQLROUTER_HTTP_SERVER_COMPONENT_INCLUDED
53 void init(std::shared_ptr<HttpServer>
srv);
54 void add_route(
const std::string &url_regex,
55 std::unique_ptr<BaseRequestHandler> cb);
56 void remove_route(
const std::string &url_regex);
65 std::unique_ptr<BaseRequestHandler>
handler;
71 std::weak_ptr<HttpServer>
srv_;
92 std::shared_ptr<HttpAuthRealm> realm);
static mysql_service_status_t init()
Component initialization.
Definition: audit_api_message_emit.cc:570
Definition: http_server_component.h:35
BaseRequestHandler & operator=(const BaseRequestHandler &)=delete
void call(HttpRequest &req, void *me)
Definition: http_server_component.h:37
virtual void handle_request(HttpRequest &req)=0
BaseRequestHandler(const BaseRequestHandler &)=delete
BaseRequestHandler()=default
virtual ~BaseRequestHandler()
Authentication Realm.
Definition: http_auth_realm.h:46
high-level Authentication frontend.
Definition: http_server_component.h:83
a HTTP request and response.
Definition: http_request.h:452
Definition: http_server_component.h:50
std::mutex rh_mu
Definition: http_server_component.h:68
HttpServerComponent(HttpServerComponent const &)=delete
std::weak_ptr< HttpServer > srv_
Definition: http_server_component.h:71
HttpServerComponent()=default
std::vector< RouterData > request_handlers_
Definition: http_server_component.h:69
void operator=(HttpServerComponent const &)=delete
Definition: http_server_plugin.h:123
#define HTTP_SERVER_EXPORT
Definition: http_server_export.h:39
Definition: srv0dynamic_procedures.h:47
Definition: http_server_component.h:63
std::string url_regex_str
Definition: http_server_component.h:64
std::unique_ptr< BaseRequestHandler > handler
Definition: http_server_component.h:65