diff options
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | Makefile | 21 | ||||
m--------- | mongoose | 0 | ||||
-rw-r--r-- | src/server.cpp | 34 | ||||
-rw-r--r-- | www/index.html | 10 |
6 files changed, 73 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6b97cea --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.project +.cproject +bin +*.o +*.swp diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1d5002f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "mongoose"] + path = mongoose + url = https://github.com/cesanta/mongoose diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9c682b5 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +OBJ=src/server.o mongoose/mongoose.o +OUT=bin/server + +CFLAGS += -Wall -DNO_CGI -DNO_POPEN -DUSE_IPV6 +CXXFLAGS += -Wall -std=c++0x -Imongoose +#LDFLAGS += + +ifdef DEBUG +CFLAGS += -g -O0 +CXXFLAGS += -g -O0 +else +CFLAGS += -O3 +CXXFLAGS += -O3 +endif + +all: build + +build: $(OBJ) + $(CXX) $(CPPFLAGS) $(OBJ) -o $(OUT) $(LDFLAGS) +clean: + rm -rf $(OUT) $(OBJ) diff --git a/mongoose b/mongoose new file mode 160000 +Subproject 41b405d7bf6e620bf0a8e34e30f135a7e81d613 diff --git a/src/server.cpp b/src/server.cpp new file mode 100644 index 0000000..222e8ea --- /dev/null +++ b/src/server.cpp @@ -0,0 +1,34 @@ +#include <iostream> +#include <string> +#include "mongoose.h" + +using namespace std; + +int event_handler(struct mg_connection *conn, enum mg_event ev) { + switch (ev) { + case MG_AUTH: return MG_TRUE; + case MG_REQUEST: + if (conn->uri) { + cout<<conn->request_method<<" "<<conn->uri<<endl; + } else return MG_FALSE; + default: return MG_FALSE; + } +} + +int main(int argc, char **argv) { + string server_port = "8080"; + + struct mg_server *server = mg_create_server(NULL, event_handler); + + mg_set_option(server, "document_root", "./www/"); + mg_set_option(server, "listening_port", server_port.c_str()); + + cout<<"Staring server on port "<<server_port<<"."<<endl; + while (true) { + mg_poll_server(server, 1000); + } + + mg_destroy_server(&server); + + return 0; +} diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..a8607f4 --- /dev/null +++ b/www/index.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="UTF-8"> + +</head> +<body> + <h1>Hello World!</h1> +</body> +</html> |