From 29fb1c172b2b235a6484f23f8d5b391f877e98eb Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Tue, 11 Mar 2025 22:32:56 +0100 Subject: Added simple HTTPD server in C --- c-httpd/httpd.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 c-httpd/httpd.c (limited to 'c-httpd/httpd.c') diff --git a/c-httpd/httpd.c b/c-httpd/httpd.c new file mode 100644 index 0000000..cb79df1 --- /dev/null +++ b/c-httpd/httpd.c @@ -0,0 +1,25 @@ +#define EPOLL +#define HTTPSERVER_IMPL +#include "httpserver.h" + +#define SERVER_PORT 6970 +#define RESPONSE "default response" + +void handle_request(struct http_request_s* request) { + http_string_t url = http_request_target(request); + + printf("%s\n", url.buf); + + struct http_response_s* response = http_response_init(); + http_response_status(response, 200); + http_response_header(response, "Content-Type", "text/html"); + http_response_body(response, RESPONSE, sizeof(RESPONSE) - 1); + http_respond(request, response); +} + +int main() { + printf("> starting server on %d\n", SERVER_PORT); + + struct http_server_s* server = http_server_init(SERVER_PORT, handle_request); + http_server_listen(server); +} -- cgit v1.2.3