From 8354319e72c264850bf10a7798f6fcd6a85bfe53 Mon Sep 17 00:00:00 2001
From: Ruslan Valiullin <r.valiullin77@gmail.com>
Date: Fri, 14 Apr 2017 17:42:10 +0500
Subject: [PATCH] websocket_chat added MG_EV_HTTP_REQUEST

PUBLISHED_FROM=6f5e1b4a97ada21025f892d3348808bffb469dfa
---
 examples/websocket_chat/Makefile         | 2 +-
 examples/websocket_chat/websocket_chat.c | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/examples/websocket_chat/Makefile b/examples/websocket_chat/Makefile
index b6244834c..2fbb69479 100644
--- a/examples/websocket_chat/Makefile
+++ b/examples/websocket_chat/Makefile
@@ -1,3 +1,3 @@
 PROG = websocket_chat
-MODULE_CFLAGS = -DMG_ENABLE_FILESYSTEM=0
+MODULE_CFLAGS = -DMG_ENABLE_FILESYSTEM=1
 include ../examples.mk
diff --git a/examples/websocket_chat/websocket_chat.c b/examples/websocket_chat/websocket_chat.c
index 3d2ad6116..265ea0798 100644
--- a/examples/websocket_chat/websocket_chat.c
+++ b/examples/websocket_chat/websocket_chat.c
@@ -7,6 +7,7 @@
 
 static sig_atomic_t s_signal_received = 0;
 static const char *s_http_port = "8000";
+static struct mg_serve_http_opts s_http_server_opts;
 
 static void signal_handler(int sig_num) {
   signal(sig_num, signal_handler);  // Reinstantiate signal handler
@@ -46,6 +47,10 @@ static void ev_handler(struct mg_connection *nc, int ev, void *ev_data) {
       broadcast(nc, d);
       break;
     }
+    case MG_EV_HTTP_REQUEST: {
+      mg_serve_http(nc, (struct http_message *) ev_data, s_http_server_opts);
+      break;
+    }
     case MG_EV_CLOSE: {
       /* Disconnect. Tell everybody. */
       if (is_websocket(nc)) {
@@ -69,6 +74,8 @@ int main(void) {
 
   nc = mg_bind(&mgr, s_http_port, ev_handler);
   mg_set_protocol_http_websocket(nc);
+  s_http_server_opts.document_root = ".";  // Serve current directory
+  s_http_server_opts.enable_directory_listing = "yes";
 
   printf("Started on port %s\n", s_http_port);
   while (s_signal_received == 0) {
-- 
GitLab