diff options
Diffstat (limited to 'icespider/fcgi/cgiRequestBase.cpp')
-rw-r--r-- | icespider/fcgi/cgiRequestBase.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/icespider/fcgi/cgiRequestBase.cpp b/icespider/fcgi/cgiRequestBase.cpp index efa9468..eb141c2 100644 --- a/icespider/fcgi/cgiRequestBase.cpp +++ b/icespider/fcgi/cgiRequestBase.cpp @@ -43,7 +43,13 @@ namespace IceSpider { if (qs != envmap.end()) { XWwwFormUrlEncoded::iterateVars(std::string(std::get<0>(qs->second), std::get<1>(qs->second)), [this](auto k, auto v) { qsmap.insert({ k, v }); - }); + }, "&"); + } + auto cs = envmap.find("HTTP_COOKIE"); + if (cs != envmap.end()) { + XWwwFormUrlEncoded::iterateVars(std::string(std::get<0>(cs->second), std::get<1>(cs->second)), [this](auto k, auto v) { + cookiemap.insert({ k, v }); + }, "; "); } } @@ -93,6 +99,12 @@ namespace IceSpider { } OptionalString + CgiRequestBase::getCookieParam(const std::string & key) const + { + return optionalLookup(key, cookiemap); + } + + OptionalString CgiRequestBase::getEnv(const std::string & key) const { return optionalLookup(key, envmap); |