#ifndef SOCKET_SERVER #define SOCKET_SERVER #include "../common/socket_helper.h" #define LISTEN_ADDR "::" #define BACKLOG_SIZE 8 #define HTTP_VERSION "HTTP/1.1" #define DATE_FORMAT "%a, %d %b %Y %H:%M:%S %Z" #define FILE_BUFFER_SIZE 1024 enum server_status {STATUS_LISTENING, STATUS_CLOSED, STATUS_ERROR}; enum request_parse_result {PARSE_RESULT_OK, PARSE_RESULT_MALFORMED, PARSE_RESULT_BAD_METHOD, PARSE_RESULT_BAD_VERSION}; struct server_info { int sock_fd; enum server_status status; }; struct server_info setup(int port); enum socket_result serve_one_request(int sock_fd); #endif