diff --git a/implementations/Crafter.Network-ListenerHTTP.cpp b/implementations/Crafter.Network-ListenerHTTP.cpp index 2b2bca6..5864bed 100644 --- a/implementations/Crafter.Network-ListenerHTTP.cpp +++ b/implementations/Crafter.Network-ListenerHTTP.cpp @@ -153,9 +153,10 @@ void ListenerHTTPClient::ListenRoutes() { while(i < buffer.size()) { std::uint32_t headerStart = i; std::string headerName; - for(; i < buffer.size()-i; i++) { + for(; i < buffer.size(); i++) { if(buffer[i] == ':') { headerName.assign(buffer.data()+headerStart, i-headerStart); + std::transform(headerName.begin(), headerName.end(), headerName.begin(), [](unsigned char c){ return std::tolower(c); }); i++; break; } @@ -179,7 +180,7 @@ void ListenerHTTPClient::ListenRoutes() { } headersComplete:; i+=4; - std::unordered_map::iterator it = request.headers.find("Content-Length"); + std::unordered_map::iterator it = request.headers.find("content-length"); if(it != request.headers.end()) { const int lenght = std::stoi(it->second); request.body.resize(lenght, 0); @@ -204,7 +205,11 @@ void ListenerHTTPClient::ListenRoutes() { break; } } else { - break; + std::string response = server->routes.at(route)(request); + client.Send(&response[0], response.size()); + if(i == buffer.size()) { + break; + } } } else { std::string response = server->routes.at(route)(request);