1234567891011121314151617181920212223242526272829303132 |
- /*
- * Copyright (c) 2024, Andrew Kaster <akaster@serenityos.org>
- *
- * SPDX-License-Identifier: BSD-2-Clause
- */
- #include <LibIPC/Decoder.h>
- #include <LibIPC/Encoder.h>
- #include <LibWeb/HTML/Origin.h>
- namespace IPC {
- template<>
- ErrorOr<void> encode(Encoder& encoder, Web::HTML::Origin const& origin)
- {
- TRY(encoder.encode<ByteString>(origin.scheme()));
- TRY(encoder.encode(origin.host()));
- TRY(encoder.encode(origin.port()));
- return {};
- }
- template<>
- ErrorOr<Web::HTML::Origin> decode(Decoder& decoder)
- {
- auto scheme = TRY(decoder.decode<ByteString>());
- auto host = TRY(decoder.decode<URL::Host>());
- u16 port = TRY(decoder.decode<u16>());
- return Web::HTML::Origin { move(scheme), move(host), port };
- }
- }
|