diff --git a/src/requestproxy.cpp b/src/requestproxy.cpp index 5db6881..edeea26 100644 --- a/src/requestproxy.cpp +++ b/src/requestproxy.cpp @@ -2,13 +2,19 @@ #include #include #include +#include namespace asyncgi::detail { RequestProxy::RequestProxy(const fcgi::Request& request) : fcgiRequest_{fastcgi::detail::RequestView{request}} - , httpRequest_{[this] - { + , httpRequest_{ + [this] + { + auto fcgiParams = std::unordered_map{}; + for (const auto& [key, value] : fcgiRequest_.params()) + fcgiParams.emplace(key, value); + return http::Request{http::RequestView{ fcgiRequest_.hasParam("REQUEST_METHOD") ? fcgiRequest_.param("REQUEST_METHOD") : std::string_view{}, @@ -20,7 +26,8 @@ RequestProxy::RequestProxy(const fcgi::Request& request) fcgiRequest_.hasParam("HTTP_COOKIE") ? fcgiRequest_.param("HTTP_COOKIE") : std::string_view{}, fcgiRequest_.hasParam("CONTENT_TYPE") ? fcgiRequest_.param("CONTENT_TYPE") : std::string_view{}, - fcgiRequest_.stdIn()}}; + fcgiRequest_.stdIn(), + std::move(fcgiParams)}}; }} { }