42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
//
|
|
// Created by nazar on 12.09.2025.
|
|
//
|
|
|
|
#include "main.h"
|
|
#include <stdio.h>
|
|
|
|
http_response_t* handle_request(http_request_t* request)
|
|
{
|
|
http_response_t* http_response = malloc(sizeof *http_response);
|
|
http_response->http_version.http_name = "HTTP\0";
|
|
http_response->http_version.http_name_len = 4;
|
|
http_response->http_version.major = 1;
|
|
http_response->http_version.minor = 1;
|
|
|
|
http_response->http_status_code = 200;
|
|
http_response->http_status_message = "OK\0";
|
|
http_response->http_status_message_len = 2;
|
|
|
|
char *length_str = malloc(20);
|
|
sprintf(length_str, "%ld", request->http_path_len);
|
|
|
|
http_response->http_headers = new_hash_map();
|
|
set(http_response->http_headers, "Server", "SimpleHttpServer");
|
|
set(http_response->http_headers, "Content-Length", length_str);
|
|
set(http_response->http_headers, "Content-Type", "text/plain");
|
|
|
|
http_response->http_content = request->http_path;
|
|
http_response->http_content_len = request->http_path_len;
|
|
|
|
return http_response;
|
|
}
|
|
|
|
int main() {
|
|
http_server_t http_server;
|
|
http_server.handle_request = &handle_request;
|
|
printf("Starting the server...\n");
|
|
start_http_server(&http_server, ADDRESS, PORT);
|
|
printf("Bye!\n");
|
|
return 0;
|
|
}
|