ZenLib
Http_Cookies.h
Go to the documentation of this file.
1/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
2 *
3 * Use of this source code is governed by a zlib-style license that can
4 * be found in the License.txt file in the root of the source tree.
5 */
6
7//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8//
9// Cookies handling
10//
11//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12
13//---------------------------------------------------------------------------
14#ifndef ZenLib_Format_Http_CookiesH
15#define ZenLib_Format_Http_CookiesH
16//---------------------------------------------------------------------------
17
18//---------------------------------------------------------------------------
19#include <string>
20#include <ctime>
21#include <map>
22#include <sstream>
23//---------------------------------------------------------------------------
24
25namespace ZenLib
26{
27
28namespace Format
29{
30
31namespace Http
32{
33
34//***************************************************************************
35/// @brief
36//***************************************************************************
37
38struct Cookie
39{
40 std::string Value;
41 std::time_t Expires;
42 std::string Path;
43 std::string Domain;
44 bool Secure;
45
47 {
48 Expires=0;
49 Secure=false;
50 }
51};
52
53extern std::string EmptyString; //Must not change
54
55class Cookies : public std::map<std::string, Cookie>
56{
57public :
58 //Constructor/Destructor
60
61 //Helpers
62 size_t Set(const std::string &Name, const std::string &Value=EmptyString, std::time_t Expires=(std::time_t)-1, const std::string &Path=EmptyString, const std::string &Domain=EmptyString, bool Secure=false);
63 Cookie &Get(const std::string &Name);
64 void Create_Lines(std::ostream& Out);
65};
66
67} //Namespace
68
69} //Namespace
70
71} //Namespace
72
73#endif
Cookie & Get(const std::string &Name)
size_t Set(const std::string &Name, const std::string &Value=EmptyString, std::time_t Expires=(std::time_t) -1, const std::string &Path=EmptyString, const std::string &Domain=EmptyString, bool Secure=false)
void Create_Lines(std::ostream &Out)
Definition Http_Cookies.h:32
std::string EmptyString
Definition Html_Handler.h:29
Definition BitStream.h:24
Definition Http_Cookies.h:39
std::string Domain
Definition Http_Cookies.h:43
std::string Path
Definition Http_Cookies.h:42
std::string Value
Definition Http_Cookies.h:40
bool Secure
Definition Http_Cookies.h:44
std::time_t Expires
Definition Http_Cookies.h:41
Cookie()
Definition Http_Cookies.h:46