wip cgi env variables
This commit is contained in:
@@ -22,5 +22,19 @@ void Webserv::_accept_connection(int fd)
|
||||
_clients.push_back(Client());
|
||||
_clients.back().fd = accepted_fd;
|
||||
|
||||
// HUGO WIP
|
||||
//
|
||||
_clients.back().port = ::itos(addr.sin_port);
|
||||
struct in_addr tmp = { addr.sin_addr.s_addr };
|
||||
_clients.back().ip = inet_ntoa( tmp );
|
||||
|
||||
std::cout
|
||||
<< "port:" << _clients.back().port
|
||||
<< " ip:" << _clients.back().ip
|
||||
<< "\n";
|
||||
//
|
||||
// HUGO END
|
||||
|
||||
_epoll_update(accepted_fd, EPOLLIN, EPOLL_CTL_ADD);
|
||||
}
|
||||
|
||||
|
||||
@@ -36,17 +36,18 @@ char** Webserv::_set_env(Client *client)
|
||||
env[4] = _dup_env("PATH_INFO");
|
||||
env[5] = _dup_env("PATH_TRANSLATED");
|
||||
env[6] = _dup_env("QUERY_STRING");
|
||||
env[7] = _dup_env("REMOTE_ADDR");
|
||||
env[7] = _dup_env("REMOTE_ADDR", client->ip);
|
||||
env[8] = _dup_env("REMOTE_HOST", client->get_headers("Host")); // just test
|
||||
env[9] = _dup_env("REMOTE_IDENT");
|
||||
env[10] = _dup_env("REMOTE_USER");
|
||||
env[9] = _dup_env("REMOTE_IDENT"); // TODO: implement if authentification
|
||||
env[10] = _dup_env("REMOTE_USER"); // TODO: implement if authentification
|
||||
env[11] = _dup_env("REQUEST_METHOD", client->get_method());
|
||||
env[12] = _dup_env("SCRIPT_NAME");
|
||||
env[13] = _dup_env("SERVER_NAME");
|
||||
env[14] = _dup_env("SERVER_PORT");
|
||||
env[12] = _dup_env("SCRIPT_NAME"); // TODO: define (https://www.rfc-editor.org/rfc/rfc3875#section-4.1.13
|
||||
// ,https://www.rfc-editor.org/rfc/rfc3875#section-8.2)
|
||||
env[13] = _dup_env("SERVER_NAME", client->get_hostname());
|
||||
env[14] = _dup_env("SERVER_PORT", client->get_port());
|
||||
env[15] = _dup_env("SERVER_PROTOCOL", client->get_version());
|
||||
env[16] = _dup_env("SERVER_SOFTWARE");
|
||||
env[17] = _dup_env("REDIRECT_STATUS");
|
||||
env[16] = _dup_env("SERVER_SOFTWARE", "webser/1.0");
|
||||
env[17] = _dup_env("REDIRECT_STATUS", "200");
|
||||
env[18] = NULL;
|
||||
|
||||
return env;
|
||||
|
||||
@@ -24,6 +24,7 @@ void Webserv::init_virtual_servers(std::vector<ServerConfig>* servers)
|
||||
std::perror("err socket()");
|
||||
throw std::runtime_error("Socket init");
|
||||
}
|
||||
|
||||
// HUGO ADD
|
||||
//
|
||||
// allow socket descriptor to be reuseable
|
||||
@@ -36,6 +37,7 @@ void Webserv::init_virtual_servers(std::vector<ServerConfig>* servers)
|
||||
}
|
||||
//
|
||||
// HUGO ADD END
|
||||
|
||||
_listen_sockets.push_back(ret);
|
||||
|
||||
_bind(_listen_sockets.back(), std::atoi(it->port.data()), it->host);
|
||||
|
||||
Reference in New Issue
Block a user