summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Lasch <mlasch@mailbox.org>2015-08-11 15:13:25 +0200
committerMarc Lasch <mlasch@mailbox.org>2015-08-11 15:13:25 +0200
commit9f7530aa40c4197a8c1979b37baab43ba2e6205f (patch)
treebd60be0948ea1b3895c49a096dfeb50bf5c84d69
downloadnetgraph-9f7530aa40c4197a8c1979b37baab43ba2e6205f.tar.gz
netgraph-9f7530aa40c4197a8c1979b37baab43ba2e6205f.zip
hello world test for mongoose
-rw-r--r--.gitignore5
-rw-r--r--.gitmodules3
-rw-r--r--Makefile21
m---------mongoose0
-rw-r--r--src/server.cpp34
-rw-r--r--www/index.html10
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>