Quellcode durchsuchen

LibWeb/Fetch: Add a constant for the keepalive maximum size

Jamie Mansfield vor 1 Jahr
Ursprung
Commit
35047de1d8

+ 1 - 1
Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.cpp

@@ -1670,7 +1670,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<PendingResponse>> http_network_or_cache_fet
             }
 
             // 5. If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.
-            if ((content_length.value() + inflight_keep_alive_bytes) > 65536)
+            if ((content_length.value() + inflight_keep_alive_bytes) > keepalive_maximum_size)
                 return PendingResponse::create(vm, request, Infrastructure::Response::network_error(vm, "Keepalive request exceeded maximum allowed size of 64 KiB"sv));
 
             // NOTE: The above limit ensures that requests that are allowed to outlive the environment settings object

+ 4 - 0
Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.h

@@ -18,6 +18,10 @@ namespace Web::Fetch::Fetching {
 // The document `Accept` header value is `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`.
 constexpr auto document_accept_header_value = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"sv;
 
+// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
+// If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.
+constexpr auto keepalive_maximum_size = 64 * KiB;
+
 #define ENUMERATE_BOOL_PARAMS                     \
     __ENUMERATE_BOOL_PARAM(IncludeCredentials)    \
     __ENUMERATE_BOOL_PARAM(IsAuthenticationFetch) \