mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 08:14:58 +00:00

In doing so, this removes all uses of the Encoder's stream operator, except for where it is currently still used in the generated IPC code. So the stream operator currently discards any errors, which is the existing behavior. A subsequent commit will propagate the errors.
41 lines
992 B
C++
41 lines
992 B
C++
/*
|
|
* Copyright (c) 2021, Tim Flynn <trflynn89@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/DeprecatedString.h>
|
|
#include <AK/Optional.h>
|
|
#include <LibCore/DateTime.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<Core::DateTime> expiry_time_from_expires_attribute {};
|
|
Optional<Core::DateTime> 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&);
|
|
|
|
}
|