summaryrefslogtreecommitdiff
path: root/icespider/fcgi/cgiRequestBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'icespider/fcgi/cgiRequestBase.cpp')
-rw-r--r--icespider/fcgi/cgiRequestBase.cpp14
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);