146 (*httpd)->context = context;
162 if ((rc =
hpd_tcpd_create(&(*httpd)->webserver, &ws_settings, context, loop))) {
static hpd_tcpd_return_t httpd_on_connect(hpd_tcpd_t *instance, hpd_tcpd_conn_t *conn, void *ws_ctx, void **conn_ctx)
Callback for tcpd library.
hpd_tcpd_nodata_f on_connect
hpd_error_t hpd_tcpd_create(hpd_tcpd_t **tcpd, hpd_tcpd_settings_t *settings, const hpd_module_t *context, hpd_ev_loop_t *loop)
Create new tcpd instance.
static hpd_tcpd_return_t httpd_on_disconnect(hpd_tcpd_t *instance, hpd_tcpd_conn_t *conn, void *ws_ctx, void **conn_ctx)
Callback for tcpd library.
hpd_tcpd_port_t port
Port number.
struct hp_settings settings
hpd_error_t hpd_httpd_stop(hpd_httpd_t *httpd)
Stop a httpd instance.
hpd_error_t hpd_httpd_destroy(hpd_httpd_t *httpd)
Destroy a httpd instance.
static hpd_tcpd_return_t httpd_on_receive(hpd_tcpd_t *instance, hpd_tcpd_conn_t *conn, void *ws_ctx, void **conn_ctx, const char *buf, size_t len)
Callback for tcpd library.
hpd_httpd_settings_t settings
Settings.
hpd_error_t hpd_tcpd_stop(hpd_tcpd_t *tcpd)
Stop an already running tcpd.
hpd_tcpd_nodata_f on_disconnect
hpd_error_t hpd_tcpd_start(hpd_tcpd_t *tcpd)
Start the tcpd.
enum hpd_error hpd_error_t
#define HPD_LOG_RETURN_E_ALLOC(CONTEXT)
hpd_error_t http_request_destroy(hpd_httpd_request_t *req)
Destroy a ws_request.
hpd_error_t hpd_httpd_create(hpd_httpd_t **httpd, hpd_httpd_settings_t *settings, const hpd_module_t *context, hpd_ev_loop_t *loop)
Create a new httpd instance.
#define HPD_LOG_RETURN_E_NULL(CONTEXT)
All data to represent a connection.
Settings struct for webserver.
hpd_error_t http_request_create(hpd_httpd_request_t **req, hpd_httpd_t *httpd, hpd_httpd_settings_t *settings, hpd_tcpd_conn_t *conn, const hpd_module_t *context)
Create a new ws_request.
static struct ev_loop * loop
hpd_error_t http_request_parse(hpd_httpd_request_t *req, const char *buf, size_t len)
Parse a new chunk of the message.
hpd_tcpd_data_f on_receive
hpd_tcpd_t * webserver
Webserver instance.
struct ev_loop hpd_ev_loop_t
hpd_error_t hpd_tcpd_destroy(hpd_tcpd_t *tcpd)
Destroy tcpd and free used memory.
Settings struct for tcpd.
#define HPD_LOG_ERROR(CONTEXT, FMT,...)
const hpd_module_t * context
#define HPD_TCPD_SETTINGS_DEFAULT
Default settings for tcpd.
enum hpd_tcpd_return hpd_tcpd_return_t
hpd_error_t hpd_httpd_start(hpd_httpd_t *httpd)
Start a httpd instance.