From 6deb5ce9b5a76a22245997e434503a2cd63218d1 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Mon, 24 Oct 2022 09:23:18 +0100 Subject: [PATCH] LibWeb: Implement 'Default `User-Agent` value' AO --- .../LibWeb/Fetch/Infrastructure/HTTP/Headers.cpp | 8 ++++++++ .../Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.h | 1 + Userland/Libraries/LibWeb/Loader/ResourceLoader.h | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.cpp b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.cpp index 838ce31906..5efd151b7f 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include namespace Web::Fetch::Infrastructure { @@ -686,4 +687,11 @@ Optional parse_single_range_header_value(ReadonlyBytes value) return RangeHeaderValue { move(range_start_value), move(range_end_value) }; } +// https://fetch.spec.whatwg.org/#default-user-agent-value +ErrorOr default_user_agent_value() +{ + // A default `User-Agent` value is an implementation-defined header value for the `User-Agent` header. + return ByteBuffer::copy(default_user_agent.bytes()); +} + } diff --git a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.h b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.h index 15ad9355e2..3b6515131e 100644 --- a/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.h +++ b/Userland/Libraries/LibWeb/Fetch/Infrastructure/HTTP/Headers.h @@ -74,5 +74,6 @@ struct RangeHeaderValue { [[nodiscard]] bool is_forbidden_response_header_name(ReadonlyBytes); [[nodiscard]] bool is_request_body_header_name(ReadonlyBytes); [[nodiscard]] Optional parse_single_range_header_value(ReadonlyBytes); +[[nodiscard]] ErrorOr default_user_agent_value(); } diff --git a/Userland/Libraries/LibWeb/Loader/ResourceLoader.h b/Userland/Libraries/LibWeb/Loader/ResourceLoader.h index 0c94b9ee2e..a013f17115 100644 --- a/Userland/Libraries/LibWeb/Loader/ResourceLoader.h +++ b/Userland/Libraries/LibWeb/Loader/ResourceLoader.h @@ -44,7 +44,7 @@ namespace Web { # error Unknown OS #endif -constexpr auto default_user_agent = "Mozilla/5.0 (" OS_STRING "; " CPU_STRING ") LibWeb+LibJS/1.0 Ladybird/1.0"; +constexpr auto default_user_agent = "Mozilla/5.0 (" OS_STRING "; " CPU_STRING ") LibWeb+LibJS/1.0 Ladybird/1.0"sv; class ResourceLoaderConnectorRequest : public RefCounted { public: