ZenLib

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

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
25 namespace ZenLib
26 {
27
28 namespace Format
29 {
30
31 namespace Http
32 {
33
34 //***************************************************************************
35 /// @brief
36 //***************************************************************************
37
38 struct Cookie
39 {
40 std::string Value;
41 std::time_t Expires;
42 std::string Path;
43 std::string Domain;
44 bool Secure;
45
46 Cookie()
47 {
48 Expires=0;
49 Secure=false;
50 }
51 };
52
53 extern std::string EmptyString; //Must not change
54
55 class Cookies : public std::map<std::string, Cookie>
56 {
57 public :
58 //Constructor/Destructor
59 Cookies();
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
ZenLib::Format::Http::Cookies::Get
Cookie & Get(const std::string &Name)
ZenLib::Format::Http::Cookies
Definition: Http_Cookies.h:55
ZenLib::Format::Http::Cookies::Cookies
Cookies()
ZenLib::Format::Http::Cookie::Path
std::string Path
Definition: Http_Cookies.h:42
ZenLib::Format::Http::Cookie::Expires
std::time_t Expires
Definition: Http_Cookies.h:41
ZenLib
Definition: BitStream.h:23
ZenLib::Format::Http::Cookie::Value
std::string Value
Definition: Http_Cookies.h:40
ZenLib::Format::Http::Cookies::Set
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)
ZenLib::Format::Http::Cookie::Cookie
Cookie()
Definition: Http_Cookies.h:46
ZenLib::Format::Http::Cookies::Create_Lines
void Create_Lines(std::ostream &Out)
ZenLib::Format::Http::Cookie::Domain
std::string Domain
Definition: Http_Cookies.h:43
ZenLib::Format::Http::Cookie::Secure
bool Secure
Definition: Http_Cookies.h:44
ZenLib::Format::Http::Cookie
Definition: Http_Cookies.h:38
ZenLib::Format::Http::EmptyString
std::string EmptyString