Created
September 14, 2018 09:54
Revisions
-
schmurfy created this gist
Sep 14, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,56 @@ #include "mongoose.h" // gcc -o test -I mongoose/ mongoose/mongoose.c test.c static int s_exit_flag = 0; static void ev_handler(struct mg_connection *nc, int ev, void *ev_data) { struct http_message *hm = (struct http_message *) ev_data; switch (ev) { case MG_EV_CONNECT: if (*(int *) ev_data != 0) { fprintf(stderr, "connect() failed: %s\n", strerror(*(int *) ev_data)); s_exit_flag = 1; } break; case MG_EV_HTTP_CHUNK: nc->flags |= MG_F_DELETE_CHUNK; fwrite(hm->body.p, 1, hm->body.len, stdout); putchar('\n'); break; case MG_EV_HTTP_REPLY: nc->flags |= MG_F_CLOSE_IMMEDIATELY; fwrite(hm->message.p, 1, hm->message.len, stdout); putchar('\n'); s_exit_flag = 1; break; case MG_EV_CLOSE: if (s_exit_flag == 0) { printf("Server closed connection\n"); s_exit_flag = 1; } break; default: break; } } int main(int argc, char *argv[]) { struct mg_mgr mgr; mg_mgr_init(&mgr, NULL); mg_connect_http(&mgr, ev_handler, argv[0], NULL, NULL); while( s_exit_flag == 0 ){ mg_mgr_poll(&mgr, 1000); } mg_mgr_free(&mgr); return 0; }