#include "Webserv.hpp" #define BUFSIZE 8192 void Webserv::_request(Client *client) { _read_request(client); if (g_last_signal) _handle_last_signal(); } void Webserv::_read_request(Client *client) { char buf[BUFSIZE+1]; ssize_t ret; std::cerr << "recv()\n"; ret = ::recv(client->fd, buf, BUFSIZE, 0); if (ret == -1) { std::perror("err recv()"); std::cerr << "client ptr =" << client << "\n"; // DEBUG std::cerr << "client.fd =" << client->fd << "\n"; // DEBUG _close_client(client->fd); return ; } /* if (ret == BUFSIZE) // send error like "request too long" to client */ buf[ret] = '\0'; client->raw_request.append(buf); _epoll_update(client->fd, EPOLLOUT, EPOLL_CTL_MOD, client); }