merging small fixes andmore telnet tests

This commit is contained in:
Me
2022-08-17 02:51:32 +02:00
9 changed files with 278 additions and 116 deletions

View File

@@ -10,9 +10,10 @@ Client::Client()
header_complete(false),
body_complete(false),
request_complete(false),
read_body_size(0),
assigned_server(NULL),
assigned_location(NULL),
cgi_pipe_rfd(0),
cgi_pid(0),
_fd(0),
_port(""),
_ip(""),
@@ -26,9 +27,10 @@ Client::Client(int afd, listen_socket *lsocket, std::string aport, std::string a
header_complete(false),
body_complete(false),
request_complete(false),
read_body_size(0),
assigned_server(NULL),
assigned_location(NULL),
cgi_pipe_rfd(0),
cgi_pid(0),
_fd(afd),
_port(aport),
_ip(aip),
@@ -45,7 +47,6 @@ Client::~Client() {
Client::Client( Client const & src )
: status ( src.status ),
header_complete ( src.header_complete ),
read_body_size ( src.read_body_size ),
assigned_server ( src.assigned_server ),
assigned_location ( src.assigned_location ),
_fd ( src._fd ),
@@ -232,15 +233,17 @@ void Client::fill_script_path(std::string &path, size_t pos)
void Client::clear()
{
clear_request();
header_complete = false;
body_complete = false;
request_complete = false;
read_body_size = 0;
assigned_server = NULL;
assigned_location = NULL;
raw_request.clear();
response.clear();
status = 0;
header_complete = false;
body_complete = false;
request_complete = false;
assigned_server = NULL;
assigned_location = NULL;
cgi_pipe_rfd = 0;
cgi_pid = 0;
cgi_output.clear();
}
void Client::clear_request()
@@ -415,9 +418,9 @@ void Client::_parse_port_hostname(std::string host)
void Client::_check_request_errors()
{
std::cerr << "Content-Length=" << get_rq_headers("Content-Length") << "\n";
std::cerr << "strtoul=" << std::strtoul(get_rq_headers("Content-Length").c_str(), NULL, 10) << "\n";
std::cerr << "client_body_limit=" << assigned_server->client_body_limit << "\n";
// /* Debug */ std::cerr << "Content-Length=" << get_rq_headers("Content-Length") << "\n";
// /* Debug */ std::cerr << "strtoul=" << std::strtoul(get_rq_headers("Content-Length").c_str(), NULL, 10) << "\n";
// /* Debug */ std::cerr << "client_body_limit=" << assigned_server->client_body_limit << "\n";
///////////////////////
// Request line checks
if (_request.method == UNKNOWN)
@@ -466,11 +469,11 @@ ServerConfig *Client::_determine_process_server(Client *client, std::vector<Serv
*/
std::string server_name = client->get_rq_headers("Host");
std::cerr << "server_name = " << server_name << "\n";
// /* Debug */ std::cerr << "server_name = " << server_name << "\n";
size_t pos = server_name.rfind(':');
if (pos != NPOS)
server_name.erase(pos);
std::cerr << "server_name = " << server_name << "\n";
// /* Debug */ std::cerr << "server_name = " << server_name << "\n";
std::vector<ServerConfig>::iterator it = servers.begin();
std::vector<ServerConfig>::iterator default_server = servers.end();