magpie
Loading...
Searching...
No Matches
Cookie.hpp
1#pragma once
2
3#include <optional>
4#include <string>
5
6namespace magpie {
7
8enum class SameSite {
9 Strict,
10 Lax,
11 None,
15 Undefined
16};
17
18enum class CookieParseError {
19 MissingKeyValuePair,
20 NoCookies,
21};
22
35class Cookie {
36private:
37 std::string name;
38 std::string value;
39 std::optional<size_t> maxAge;
40 std::optional<std::string> path;
41 std::optional<std::string> domain;
42
43 bool httpOnly = false;
44 bool secure = false;
45public:
46
54 Cookie(
55 std::string&& name,
56 std::string&& value
57 );
58
59 const std::string& getName() const;
60 const std::string& getValue() const;
61 const std::optional<size_t>& getMaxAge() const;
62
63 bool isHttpOnly() const;
64 bool isSecure() const;
65
70
75
76 Cookie& setPath(std::string&& path);
77 Cookie& setDomain(const std::string& domain);
78
79};
80
81}
Cookie(std::string &&name, std::string &&value)
Definition Cookie.cpp:6
Cookie & setHttpOnly()
Definition Cookie.cpp:21
Cookie & setSecure()
Definition Cookie.cpp:29