author | Michael Krelin <hacker@klever.net> | 2005-07-19 13:08:58 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2005-07-19 13:08:58 (UTC) |
commit | db69589bdc32c60b1fce6700a35d4126058bf7bc (patch) (side-by-side diff) | |
tree | 34727675eaeb4210436a9b61119c7484dbc0cd97 /src | |
parent | 9cc67ea5af191d5bc1f26506c35d8387a05361c2 (diff) | |
download | kingate-db69589bdc32c60b1fce6700a35d4126058bf7bc.zip kingate-db69589bdc32c60b1fce6700a35d4126058bf7bc.tar.gz kingate-db69589bdc32c60b1fce6700a35d4126058bf7bc.tar.bz2 |
turned cookies into multimap
-rw-r--r-- | src/cookies.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cookies.cc b/src/cookies.cc index 40a0c8b..1ee4f7c 100644 --- a/src/cookies.cc +++ b/src/cookies.cc @@ -170,32 +170,36 @@ namespace kingate { rv += "; Version=1"; return rv; } string cookie::set_cookie_header() const { string rv = name + "=" + value; for(const_iterator i=begin();i!=end();++i) { if(i->first=="secure") { rv += "; secure"; }else{ rv += "; "+i->first+"="+i->second; } } return rv; } + 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 { return find(n)!=end(); } const cookie& cookies_t::get_cookie(const key_type& n) const { const_iterator i=find(n); if(i==end()) throw exception_notfound(CODEPOINT,"No cookie with such name found"); return i->second; } cookie& cookies_t::get_cookie(const key_type& n) { iterator i=find(n); if(i==end()) throw exception_notfound(CODEPOINT,"No cookie with such name found"); return i->second; @@ -221,22 +225,21 @@ namespace kingate { continue; string n = s.substr(0,eq); s.erase(0,eq+1); nsp = n.find_last_not_of(" \t"); n.erase(nsp+1); nsp = s.find_first_not_of(" \t"); string v; if(nsp!=string::npos) v = s.substr(nsp); else v = s; nsp = v.find_last_not_of(" \t"); if(nsp==string::npos) v.erase(); else v.erase(nsp+1); - cookie& c = (*this)[n]; - c.set_name(n); c.set_value(v); + set_cookie(cookie(n,v)); } } } |