Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions include/mgos_http_server.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@ void mgos_register_http_endpoint_opt(const char *uri_path,
*/
void mgos_http_server_set_document_root(const char *document_root);

typedef void (*mgos_ep_controller_event_handler)(struct mg_connection *c, int ev, void *p,void *user_data);
void mgos_register_ep_controller_event_handler(mgos_ep_controller_event_handler cb);

#if defined(__cplusplus)
}
#endif
Expand Down
9 changes: 9 additions & 0 deletions src/mgos_http_server.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ static struct mg_serve_http_opts s_http_server_opts;
static struct mg_connection *s_listen_conn;
static struct mg_connection *s_listen_conn_tun;

static mgos_ep_controller_event_handler ep_controller_cb=NULL;

#if MGOS_ENABLE_WEB_CONFIG

#define JSON_HEADERS "Connection: close\r\nContent-Type: application/json"
Expand Down Expand Up @@ -226,6 +228,9 @@ static void mgos_http_ev(struct mg_connection *c, int ev, void *p,
break;
}
}
if( ep_controller_cb != NULL ){
ep_controller_cb(c,ev,p,user_data);
}
(void) user_data;
}

Expand Down Expand Up @@ -385,3 +390,7 @@ struct mg_connection *mgos_get_sys_http_server(void) {
void mgos_http_server_set_document_root(const char *document_root) {
s_http_server_opts.document_root = document_root;
}

void mgos_register_ep_controller_event_handler(mgos_ep_controller_event_handler cb){
ep_controller_cb = cb;
}