summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/kingate/cgi_gateway.h1
-rw-r--r--include/kingate/cookies.h4
-rw-r--r--src/cookies.cc7
3 files changed, 7 insertions, 5 deletions
diff --git a/include/kingate/cgi_gateway.h b/include/kingate/cgi_gateway.h
index a26b0ae..087f7d0 100644
--- a/include/kingate/cgi_gateway.h
+++ b/include/kingate/cgi_gateway.h
@@ -309,3 +309,2 @@ namespace kingate {
- private:
/**
diff --git a/include/kingate/cookies.h b/include/kingate/cookies.h
index 83ef0c6..a1e813c 100644
--- a/include/kingate/cookies.h
+++ b/include/kingate/cookies.h
@@ -257,3 +257,3 @@ namespace kingate {
*/
- class cookies_t : public map<string,cookie> {
+ class cookies_t : public multimap<string,cookie> {
public:
@@ -269,3 +269,3 @@ namespace kingate {
*/
- void set_cookie(const cookie& c) { (*this)[c.get_name()]=c; }
+ void set_cookie(const cookie& c);
/**
diff --git a/src/cookies.cc b/src/cookies.cc
index 40a0c8b..1ee4f7c 100644
--- a/src/cookies.cc
+++ b/src/cookies.cc
@@ -185,2 +185,6 @@ namespace kingate {
+ void cookies_t::set_cookie(const cookie& c) {
+ insert(value_type(c.get_name(),c));
+ }
+
bool cookies_t::has_cookie(const key_type& n) const {
@@ -236,4 +240,3 @@ namespace kingate {
v.erase(nsp+1);
- cookie& c = (*this)[n];
- c.set_name(n); c.set_value(v);
+ set_cookie(cookie(n,v));
}