22 #ifndef __LIBS_WEBVIEW_REQUEST_DISPATCHER_H_ 23 #define __LIBS_WEBVIEW_REQUEST_DISPATCHER_H_ 25 #include <utils/time/time.h> 32 #include <microhttpd.h> 39 class WebRequestProcessor;
41 class WebPageHeaderGenerator;
42 class WebPageFooterGenerator;
44 class DynamicWebReply;
45 class WebUserVerifier;
47 class WebviewAccessLog;
59 struct MHD_Connection * connection,
63 const char *upload_data,
64 size_t *upload_data_size,
68 struct MHD_Connection *connection,
void **con_cls,
69 enum MHD_RequestTerminationCode toe);
71 static void *
uri_log_cb(
void *cls,
const char *uri);
80 struct MHD_Response * prepare_static_response(
StaticWebReply *sreply);
81 int queue_static_reply(
struct MHD_Connection * connection,
WebRequest *request,
83 int queue_dynamic_reply(
struct MHD_Connection * connection,
WebRequest *request,
85 int queue_basic_auth_fail(
struct MHD_Connection * connection,
WebRequest *request);
86 int process_request(
struct MHD_Connection * connection,
87 const char *url,
const char *method,
const char *version,
88 const char *upload_data,
size_t *upload_data_size,
90 void * log_uri(
const char *uri);
93 MHD_RequestTerminationCode term_code);
99 std::string __active_baseurl;
106 unsigned int __active_requests;
unsigned int active_requests() const
Get number of active requests.
Fawkes library namespace.
static void request_completed_cb(void *cls, struct MHD_Connection *connection, void **con_cls, enum MHD_RequestTerminationCode toe)
Process request completion.
A class for handling time.
static int process_request_cb(void *callback_data, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **session_data)
Process request callback for libmicrohttpd.
WebRequestDispatcher(WebUrlManager *url_manager, WebPageHeaderGenerator *headergen=0, WebPageFooterGenerator *footergen=0)
Constructor.
~WebRequestDispatcher()
Destructor.
void setup_basic_auth(const char *realm, WebUserVerifier *verifier)
Setup basic authentication.
Interface for user verification.
Webview access_log writer.
Web request meta data carrier.
Time last_request_completion_time() const
Get time when last request was completed.
static void * uri_log_cb(void *cls, const char *uri)
Callback for new requests.
void setup_access_log(const char *filename)
Setup access log.
Mutex mutual exclusion lock.