cs-3516-assignment-1/server/socket_server.h

23 lines
597 B
C
Raw Permalink Normal View History

#ifndef SOCKET_SERVER
#define SOCKET_SERVER
2018-09-08 21:26:34 +00:00
#include "../common/socket_helper.h"
2018-09-09 23:59:07 +00:00
#define LISTEN_ADDR "::"
2018-09-09 23:46:47 +00:00
#define BACKLOG_SIZE 8
2018-09-09 21:34:26 +00:00
#define HTTP_VERSION "HTTP/1.1"
2018-09-11 01:24:28 +00:00
#define DATE_FORMAT "%a, %d %b %Y %H:%M:%S %Z"
2018-09-09 23:46:31 +00:00
#define FILE_BUFFER_SIZE 1024
enum server_status {STATUS_LISTENING, STATUS_CLOSED, STATUS_ERROR};
2018-09-10 03:25:10 +00:00
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