/* * Copyright (c) 2021-2026, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace HTTP::Cookie { struct ParsedCookie { String name; String value; SameSite same_site_attribute { SameSite::Default }; Optional expiry_time_from_expires_attribute {}; Optional expiry_time_from_max_age_attribute {}; Optional domain {}; Optional path {}; bool secure_attribute_present { false }; bool http_only_attribute_present { false }; }; Optional parse_cookie(URL::URL const&, StringView cookie_string); bool cookie_contains_invalid_control_character(StringView); constexpr inline auto MAXIMUM_COOKIE_AGE = AK::Duration::from_seconds(400LL * 24 * 60 * 60); } namespace IPC { template<> ErrorOr encode(Encoder&, HTTP::Cookie::ParsedCookie const&); template<> ErrorOr decode(Decoder&); }