/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* Client.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/14 14:14:39 by adjoly #+# #+# */ /* Updated: 2025/05/01 12:51:51 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #pragma once #include #include #include #include #include #include namespace webserv { namespace server { class Client { public: Client(struct pollfd *, config::Server *); Client(const Client &cpy); virtual ~Client(void); void parse(void); void answer(void); bool requestParsed(void); struct pollfd *getPollfd(void) const { return _pfd; } bool operator==(int fd) { if (fd != _pfd->fd) return false; return true; } private: void _getRequest(std::string); std::string _sanitizeStr(std::string &str) { std::string newStr = str; if (str[str.size() - 1] == '\r') { newStr.erase(str.size() - 1); } return newStr; } struct pollfd *_pfd; http::ARequest *_request; // http::Response *_response; config::Server *_conf; config::Route *_route; }; } // namespace server } // namespace webserv