diff options
Diffstat (limited to 'endpoints.c')
-rw-r--r-- | endpoints.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/endpoints.c b/endpoints.c new file mode 100644 index 0000000..9a02098 --- /dev/null +++ b/endpoints.c @@ -0,0 +1,38 @@ +#include <stdlib.h> +#include <string.h> + +#include "microhttpd.h" + +// not accessible in browser because ALL URLs start with / (or with _ in dylib) +char* duplicate(const char* x) { + size_t len = strlen(x); + char* ret = malloc(len+1); + memcpy(ret, x, len); + ret[len] = '\0'; + return ret; +} + +// index, path: / +char* _(struct MHD_Connection* connection) { + const char* resp = "<html><body>This is an index page!</body></html>"; + return duplicate(resp); +} + +// home, path: /home +char* _home(struct MHD_Connection* connection) { + const char* resp = "<html><body>" + "<h1>This is a HOME page!</h1>" + "<div style=\"height:10000px;\"></div>" + "<a href=\"/hidden/hentai\">Don't click me! :0</a>" + "</body></html>"; + return duplicate(resp); +} + +// hentai, path: /hidden/hentai +char* _hidden_hentai(struct MHD_Connection* connection) { + const char* resp = "<html><style>a{text-decoration:none;}</style><body>" + "<p>what did you expect to see...</p>" + "<a href=\"https://pornhub.com\"> </a>" + "</body></html>"; + return duplicate(resp); +} |