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: