mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 00:27:45 +00:00
LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr
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.
This commit is contained in:
parent
d0f3f3d5ff
commit
ab99ed5fba
29 changed files with 224 additions and 238 deletions
|
@ -39,22 +39,22 @@ SameSite same_site_from_string(StringView same_site_mode)
|
|||
}
|
||||
|
||||
template<>
|
||||
bool IPC::encode(Encoder& encoder, Web::Cookie::Cookie const& cookie)
|
||||
ErrorOr<void> IPC::encode(Encoder& encoder, Web::Cookie::Cookie const& cookie)
|
||||
{
|
||||
encoder << cookie.name;
|
||||
encoder << cookie.value;
|
||||
encoder << cookie.domain;
|
||||
encoder << cookie.path;
|
||||
encoder << cookie.creation_time;
|
||||
encoder << cookie.expiry_time;
|
||||
encoder << cookie.host_only;
|
||||
encoder << cookie.http_only;
|
||||
encoder << cookie.last_access_time;
|
||||
encoder << cookie.persistent;
|
||||
encoder << cookie.secure;
|
||||
encoder << cookie.same_site;
|
||||
TRY(encoder.encode(cookie.name));
|
||||
TRY(encoder.encode(cookie.value));
|
||||
TRY(encoder.encode(cookie.domain));
|
||||
TRY(encoder.encode(cookie.path));
|
||||
TRY(encoder.encode(cookie.creation_time));
|
||||
TRY(encoder.encode(cookie.expiry_time));
|
||||
TRY(encoder.encode(cookie.host_only));
|
||||
TRY(encoder.encode(cookie.http_only));
|
||||
TRY(encoder.encode(cookie.last_access_time));
|
||||
TRY(encoder.encode(cookie.persistent));
|
||||
TRY(encoder.encode(cookie.secure));
|
||||
TRY(encoder.encode(cookie.same_site));
|
||||
|
||||
return true;
|
||||
return {};
|
||||
}
|
||||
|
||||
template<>
|
||||
|
|
|
@ -47,7 +47,7 @@ SameSite same_site_from_string(StringView same_site_mode);
|
|||
namespace IPC {
|
||||
|
||||
template<>
|
||||
bool encode(Encoder&, Web::Cookie::Cookie const&);
|
||||
ErrorOr<void> encode(Encoder&, Web::Cookie::Cookie const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<Web::Cookie::Cookie> decode(Decoder&);
|
||||
|
|
|
@ -348,19 +348,19 @@ Optional<Core::DateTime> parse_date_time(StringView date_string)
|
|||
}
|
||||
|
||||
template<>
|
||||
bool IPC::encode(Encoder& encoder, Web::Cookie::ParsedCookie const& cookie)
|
||||
ErrorOr<void> IPC::encode(Encoder& encoder, Web::Cookie::ParsedCookie const& cookie)
|
||||
{
|
||||
encoder << cookie.name;
|
||||
encoder << cookie.value;
|
||||
encoder << cookie.expiry_time_from_expires_attribute;
|
||||
encoder << cookie.expiry_time_from_max_age_attribute;
|
||||
encoder << cookie.domain;
|
||||
encoder << cookie.path;
|
||||
encoder << cookie.secure_attribute_present;
|
||||
encoder << cookie.http_only_attribute_present;
|
||||
encoder << cookie.same_site_attribute;
|
||||
TRY(encoder.encode(cookie.name));
|
||||
TRY(encoder.encode(cookie.value));
|
||||
TRY(encoder.encode(cookie.expiry_time_from_expires_attribute));
|
||||
TRY(encoder.encode(cookie.expiry_time_from_max_age_attribute));
|
||||
TRY(encoder.encode(cookie.domain));
|
||||
TRY(encoder.encode(cookie.path));
|
||||
TRY(encoder.encode(cookie.secure_attribute_present));
|
||||
TRY(encoder.encode(cookie.http_only_attribute_present));
|
||||
TRY(encoder.encode(cookie.same_site_attribute));
|
||||
|
||||
return true;
|
||||
return {};
|
||||
}
|
||||
|
||||
template<>
|
||||
|
|
|
@ -33,7 +33,7 @@ Optional<ParsedCookie> parse_cookie(DeprecatedString const& cookie_string);
|
|||
namespace IPC {
|
||||
|
||||
template<>
|
||||
bool encode(Encoder&, Web::Cookie::ParsedCookie const&);
|
||||
ErrorOr<void> encode(Encoder&, Web::Cookie::ParsedCookie const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<Web::Cookie::ParsedCookie> decode(Decoder&);
|
||||
|
|
|
@ -28,23 +28,23 @@ Response::Response(Error&& error)
|
|||
}
|
||||
|
||||
template<>
|
||||
bool IPC::encode(Encoder& encoder, Web::WebDriver::Response const& response)
|
||||
ErrorOr<void> IPC::encode(Encoder& encoder, Web::WebDriver::Response const& response)
|
||||
{
|
||||
response.visit(
|
||||
[](Empty) { VERIFY_NOT_REACHED(); },
|
||||
[&](JsonValue const& value) {
|
||||
encoder << ResponseType::Success;
|
||||
encoder << value;
|
||||
return response.visit(
|
||||
[](Empty) -> ErrorOr<void> { VERIFY_NOT_REACHED(); },
|
||||
[&](JsonValue const& value) -> ErrorOr<void> {
|
||||
TRY(encoder.encode(ResponseType::Success));
|
||||
TRY(encoder.encode(value));
|
||||
return {};
|
||||
},
|
||||
[&](Web::WebDriver::Error const& error) {
|
||||
encoder << ResponseType::Error;
|
||||
encoder << error.http_status;
|
||||
encoder << error.error;
|
||||
encoder << error.message;
|
||||
encoder << error.data;
|
||||
[&](Web::WebDriver::Error const& error) -> ErrorOr<void> {
|
||||
TRY(encoder.encode(ResponseType::Error));
|
||||
TRY(encoder.encode(error.http_status));
|
||||
TRY(encoder.encode(error.error));
|
||||
TRY(encoder.encode(error.message));
|
||||
TRY(encoder.encode(error.data));
|
||||
return {};
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
template<>
|
||||
|
|
|
@ -47,7 +47,7 @@ private:
|
|||
namespace IPC {
|
||||
|
||||
template<>
|
||||
bool encode(Encoder&, Web::WebDriver::Response const&);
|
||||
ErrorOr<void> encode(Encoder&, Web::WebDriver::Response const&);
|
||||
|
||||
template<>
|
||||
ErrorOr<Web::WebDriver::Response> decode(Decoder&);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue