diff --git a/server_http.hpp b/server_http.hpp index 45063130e84fb9de6b0d1b4d8be705290d105602..ca4e42f97c6b34e2c7e9aeda5081385bf3965401 100644 --- a/server_http.hpp +++ b/server_http.hpp @@ -762,10 +762,15 @@ namespace SimpleWeb { return; } } - if(response->session->request->http_version >= "1.1") { - auto new_session = std::make_shared<Session>(this->config.max_request_streambuf_size, response->session->connection); - this->read(new_session); - return; + try { + if(std::stof(response->session->request->http_version) >= 1.1) { + auto new_session = std::make_shared<Session>(this->config.max_request_streambuf_size, response->session->connection); + this->read(new_session); + return; + } + } + catch(const std::out_of_range &exception) { + std::cerr << "out of range; HTTP version is a too long number" << '\n'; } } else if(this->on_error)