#ifndef WEBSERV_HPP # define WEBSERV_HPP # include # include # include # include # include # include // close # include // exit # include // cout, cin # include // errno # include // perror # include // memset # include // socket, accept, listen, send, recv, bind, connect, setsockopt, getsockname # include // sockaddr_in # include // inet_ntoa, inet_addr, htonl, htons, ntohl, ntohs # include // poll # include // fcntl # include // ioctl # define TRUE 1 # define FALSE 0 class Webserv { public: Webserv(); // Webserv(Webserv const &src); ~Webserv(); // Webserv &operator=(Webserv const &rhs); void bind(in_port_t port); void listen(unsigned int max_connections); void start(int timeout); private: int _socket_fd; std::map _request; std::map _response; std::vector _fds; int _nfds; void _add_fd(int sd, short event); }; #endif