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) (unidiff) | |
tree | 34727675eaeb4210436a9b61119c7484dbc0cd97 /include/kingate | |
parent | 9cc67ea5af191d5bc1f26506c35d8387a05361c2 (diff) | |
download | kingate-db69589bdc32c60b1fce6700a35d4126058bf7bc.zip kingate-db69589bdc32c60b1fce6700a35d4126058bf7bc.tar.gz kingate-db69589bdc32c60b1fce6700a35d4126058bf7bc.tar.bz2 |
turned cookies into multimap
-rw-r--r-- | include/kingate/cgi_gateway.h | 1 | ||||
-rw-r--r-- | include/kingate/cookies.h | 4 |
2 files changed, 2 insertions, 3 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 | |||
@@ -298,25 +298,24 @@ namespace kingate { | |||
298 | unsigned int server_port() const; | 298 | unsigned int server_port() const; |
299 | /** | 299 | /** |
300 | * Retrieve the SERVER_PROTOCOL meta-variable (see RFC3875) | 300 | * Retrieve the SERVER_PROTOCOL meta-variable (see RFC3875) |
301 | * @return the protocol used for the request. | 301 | * @return the protocol used for the request. |
302 | */ | 302 | */ |
303 | const string& server_protocol() const; | 303 | const string& server_protocol() const; |
304 | /** | 304 | /** |
305 | * Retrieve the SERVER_SOFTWARE meta-variable (see RFC3875) | 305 | * Retrieve the SERVER_SOFTWARE meta-variable (see RFC3875) |
306 | * @return the name and version of server software. | 306 | * @return the name and version of server software. |
307 | */ | 307 | */ |
308 | const string& server_software() const; | 308 | const string& server_software() const; |
309 | 309 | ||
310 | private: | ||
311 | /** | 310 | /** |
312 | * Parse the query string, putting the parameters into the map | 311 | * Parse the query string, putting the parameters into the map |
313 | * specified. | 312 | * specified. |
314 | * @param q the query string. | 313 | * @param q the query string. |
315 | * @param p destination parameters map. | 314 | * @param p destination parameters map. |
316 | */ | 315 | */ |
317 | static void parse_query(string& q,params_t& p); | 316 | static void parse_query(string& q,params_t& p); |
318 | }; | 317 | }; |
319 | 318 | ||
320 | } | 319 | } |
321 | 320 | ||
322 | #endif /* __KINGATE_CGI_GATEWAY_H */ | 321 | #endif /* __KINGATE_CGI_GATEWAY_H */ |
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 | |||
@@ -246,37 +246,37 @@ namespace kingate { | |||
246 | string set_cookie_header_rfc2109() const; | 246 | string set_cookie_header_rfc2109() const; |
247 | /** | 247 | /** |
248 | * render the 'Set-Cookie' header according to the early vague | 248 | * render the 'Set-Cookie' header according to the early vague |
249 | * netscape specs and common practice. | 249 | * netscape specs and common practice. |
250 | * @return the rendered header content. | 250 | * @return the rendered header content. |
251 | */ | 251 | */ |
252 | string set_cookie_header() const; | 252 | string set_cookie_header() const; |
253 | }; | 253 | }; |
254 | 254 | ||
255 | /** | 255 | /** |
256 | * Cookies container class. | 256 | * Cookies container class. |
257 | */ | 257 | */ |
258 | class cookies_t : public map<string,cookie> { | 258 | class cookies_t : public multimap<string,cookie> { |
259 | public: | 259 | public: |
260 | 260 | ||
261 | cookies_t() { } | 261 | cookies_t() { } |
262 | /** | 262 | /** |
263 | * @param s 'Cookie:' HTTP header contents to parse. | 263 | * @param s 'Cookie:' HTTP header contents to parse. |
264 | */ | 264 | */ |
265 | cookies_t(const string& s) { parse_cookies(s); } | 265 | cookies_t(const string& s) { parse_cookies(s); } |
266 | 266 | ||
267 | /** | 267 | /** |
268 | * @param c cookie to set. | 268 | * @param c cookie to set. |
269 | */ | 269 | */ |
270 | void set_cookie(const cookie& c) { (*this)[c.get_name()]=c; } | 270 | void set_cookie(const cookie& c); |
271 | /** | 271 | /** |
272 | * @param n cookie name to remove. | 272 | * @param n cookie name to remove. |
273 | */ | 273 | */ |
274 | void unset_cookie(const key_type& n) { erase(n); } | 274 | void unset_cookie(const key_type& n) { erase(n); } |
275 | /** | 275 | /** |
276 | * @param n cookie name. | 276 | * @param n cookie name. |
277 | * @return true if exists. | 277 | * @return true if exists. |
278 | */ | 278 | */ |
279 | bool has_cookie(const key_type& n) const; | 279 | bool has_cookie(const key_type& n) const; |
280 | /** | 280 | /** |
281 | * Return the named cookie if one exists. | 281 | * Return the named cookie if one exists. |
282 | * @param n cookie name. | 282 | * @param n cookie name. |