24 using CookiesMap = std::unordered_map<std::string, Cookie,
utils::
StrCaseHash>;
26 static std::optional<Cookie> FromString(std::string_view cookie_str);
28 Cookie(std::string name, std::string value);
29 Cookie(Cookie&& cookie)
noexcept;
30 Cookie(
const Cookie& cookie);
33 Cookie& operator=(Cookie&&)
noexcept;
34 Cookie& operator=(
const Cookie& cookie);
36 const std::string& Name()
const noexcept;
37 const std::string& Value()
const noexcept;
39 bool IsSecure()
const noexcept;
40 Cookie& SetSecure()
noexcept;
42 std::chrono::system_clock::time_point Expires()
const noexcept;
43 Cookie& SetExpires(std::chrono::system_clock::time_point value)
noexcept;
45 bool IsPermanent()
const noexcept;
46 Cookie& SetPermanent();
48 bool IsHttpOnly()
const noexcept;
49 Cookie& SetHttpOnly()
noexcept;
51 const std::string& Path()
const noexcept;
52 Cookie& SetPath(std::string value);
54 const std::string& Domain()
const noexcept;
55 Cookie& SetDomain(std::string value);
57 std::chrono::seconds MaxAge()
const noexcept;
58 Cookie& SetMaxAge(std::chrono::seconds value)
noexcept;
60 std::string SameSite()
const;
61 Cookie& SetSameSite(std::string value);
63 std::string ToString()
const;
65 void AppendToString(USERVER_NAMESPACE::http::
headers::HeadersString& os)
const;
69 std::unique_ptr<CookieData> data_;