#include <evhttp.h>
#include <string.h>

void http_dispatcher_cb(struct evhttp_request * const req,
                        void * const event_base)
{
    evhttp_send_reply(req, HTTP_OK, "OK", NULL);
    
    if (strcmp(evhttp_request_get_uri(req), "/shutdown") == 0) {    
        event_base_loopbreak(event_base);
    }
}

int main(void)
{
    struct event_base * const event_base = event_base_new();
    struct evhttp * const event_http = evhttp_new(event_base);
    evhttp_bind_socket(event_http, NULL, 8080);
    evhttp_set_gencb(event_http, http_dispatcher_cb, event_base);
    event_base_dispatch(event_base);
    evhttp_free(event_http);
    event_base_free(event_base);
    
    return 0;
}
