diff --git a/srcs/ConfigParser.hpp b/headers/ConfigParser.hpp similarity index 100% rename from srcs/ConfigParser.hpp rename to headers/ConfigParser.hpp diff --git a/srcs/LocationConfig.hpp b/headers/LocationConfig.hpp similarity index 100% rename from srcs/LocationConfig.hpp rename to headers/LocationConfig.hpp diff --git a/srcs/MethodType.hpp b/headers/MethodType.hpp similarity index 100% rename from srcs/MethodType.hpp rename to headers/MethodType.hpp diff --git a/srcs/ServerConfig.hpp b/headers/ServerConfig.hpp similarity index 100% rename from srcs/ServerConfig.hpp rename to headers/ServerConfig.hpp diff --git a/srcs/utils.hpp b/headers/utils.hpp similarity index 100% rename from srcs/utils.hpp rename to headers/utils.hpp diff --git a/srcs/Webserv.cpp b/srcs/Webserv_hugo.cpp similarity index 100% rename from srcs/Webserv.cpp rename to srcs/Webserv_hugo.cpp diff --git a/srcs/ft_itoa.cpp b/srcs/ft_itoa.cpp index 1e996a9..364ed65 100644 --- a/srcs/ft_itoa.cpp +++ b/srcs/ft_itoa.cpp @@ -1,4 +1,5 @@ +# include #include static int eval_is_negative(int *n) @@ -28,6 +29,14 @@ static int eval_digit_nbr(int n) char *ft_itoa(int n) { + +// std::stringstream strs; +// std::string s; +// +// strs << n; +// s = strs.str(); +// return ((char*)(s.c_str())); + int i; char *str; int is_negative; diff --git a/srcs/utils.cpp b/srcs/utils.cpp index b66cd62..4061ce3 100644 --- a/srcs/utils.cpp +++ b/srcs/utils.cpp @@ -1,9 +1,6 @@ - #include "Webserv.hpp" - - std::vector split(std::string input, char delimiter) { std::vector answer; @@ -16,4 +13,3 @@ std::vector split(std::string input, char delimiter) return answer; } - diff --git a/srcs/webserv/init.cpp b/srcs/webserv/init.cpp index b773964..4c5956e 100644 --- a/srcs/webserv/init.cpp +++ b/srcs/webserv/init.cpp @@ -24,6 +24,18 @@ void Webserv::init_virtual_servers(std::vector* servers) std::perror("err socket()"); throw std::runtime_error("Socket init"); } + // HUGO ADD + // + // allow socket descriptor to be reuseable + // I just copied it from https://www.ibm.com/docs/en/i/7.2?topic=designs-example-nonblocking-io-select + int on = 1; + if (setsockopt(ret, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) < 0) + { + ::perror("err setsockopt()"); + throw std::runtime_error("Socket init"); + } + // + // HUGO ADD END _listen_sockets.push_back(ret); _bind(_listen_sockets.back(), std::atoi(it->port.data()), it->host);