mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 07:54: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.
55 lines
1,020 B
C++
55 lines
1,020 B
C++
/*
|
|
* Copyright (c) 2021, Tim Flynn <trflynn89@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/DeprecatedString.h>
|
|
#include <LibCore/DateTime.h>
|
|
#include <LibIPC/Forward.h>
|
|
|
|
namespace Web::Cookie {
|
|
|
|
enum class SameSite {
|
|
Default,
|
|
None,
|
|
Strict,
|
|
Lax
|
|
};
|
|
|
|
enum class Source {
|
|
NonHttp,
|
|
Http,
|
|
};
|
|
|
|
struct Cookie {
|
|
DeprecatedString name;
|
|
DeprecatedString value;
|
|
SameSite same_site;
|
|
Core::DateTime creation_time {};
|
|
Core::DateTime last_access_time {};
|
|
Core::DateTime expiry_time {};
|
|
DeprecatedString domain {};
|
|
DeprecatedString path {};
|
|
bool secure { false };
|
|
bool http_only { false };
|
|
bool host_only { false };
|
|
bool persistent { false };
|
|
};
|
|
|
|
StringView same_site_to_string(SameSite same_site_mode);
|
|
SameSite same_site_from_string(StringView same_site_mode);
|
|
|
|
}
|
|
|
|
namespace IPC {
|
|
|
|
template<>
|
|
ErrorOr<void> encode(Encoder&, Web::Cookie::Cookie const&);
|
|
|
|
template<>
|
|
ErrorOr<Web::Cookie::Cookie> decode(Decoder&);
|
|
|
|
}
|