ladybird/Userland/Libraries/LibWeb/Cookie/ParsedCookie.h
Timothy Flynn 87c4080d00 Browser+LibWeb+WebContent: Store cookie expiry times in UTC
We are currently converting parsed expiry times to local time, whereas
the RFC dictates we parse them as UTC. When expiring cookies, we must
also use the current UTC time to compare against the cookies' expiry
times.
2023-02-24 15:50:42 -05:00

41 lines
968 B
C++

/*
* Copyright (c) 2021-2023, Tim Flynn <trflynn89@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/DeprecatedString.h>
#include <AK/Optional.h>
#include <AK/Time.h>
#include <LibIPC/Forward.h>
#include <LibWeb/Cookie/Cookie.h>
namespace Web::Cookie {
struct ParsedCookie {
DeprecatedString name;
DeprecatedString value;
SameSite same_site_attribute { SameSite::Default };
Optional<Time> expiry_time_from_expires_attribute {};
Optional<Time> expiry_time_from_max_age_attribute {};
Optional<DeprecatedString> domain {};
Optional<DeprecatedString> path {};
bool secure_attribute_present { false };
bool http_only_attribute_present { false };
};
Optional<ParsedCookie> parse_cookie(DeprecatedString const& cookie_string);
}
namespace IPC {
template<>
ErrorOr<void> encode(Encoder&, Web::Cookie::ParsedCookie const&);
template<>
ErrorOr<Web::Cookie::ParsedCookie> decode(Decoder&);
}