ladybird/Libraries/LibRequests
Timothy Flynn 9b8f6b8108 RequestServer: Issue a network request for failed cached responses
If transferring a cached response body fails for any reason, we will now
issue a network request instead of failing the request outright.

The catch here is that we will have already transferred the response
code and headers to the client, and potentially some of the body. So we
attempt to only request the remaining data over the network using a
range request. This feels a bit sketchy, but this is also how Chromium
behaves.

However, the server may or may not support range requests. If they do,
we can expect an HTTP 206 response with the bytes we need. If not, we
will receive an HTTP 200 (assuming the request succeeded), along with
the entire object's body. In this case, we also behave like Chromium,
and internally drop number of bytes we had already transferred.
2025-10-16 09:06:48 -04:00
..
ALPNHttpVersion.h RequestServer: Retrieve timing info from curl and pipe it to LibWeb 2025-03-06 09:00:53 -07:00
CMakeLists.txt CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
Forward.h RequestServer: Retrieve timing info from curl and pipe it to LibWeb 2025-03-06 09:00:53 -07:00
NetworkError.h RequestServer: Issue a network request for failed cached responses 2025-10-16 09:06:48 -04:00
Request.cpp LibRequests: Protect Request callbacks against stopped requests 2025-04-02 08:52:45 -04:00
Request.h LibRequests: Move NetworkError stringification to LibRequests 2025-04-02 08:52:45 -04:00
RequestClient.cpp Everywhere: Change west consts caught by clang-format-21 to east consts 2025-08-29 18:18:55 +01:00
RequestClient.h Everywhere: Change west consts caught by clang-format-21 to east consts 2025-08-29 18:18:55 +01:00
RequestTimingInfo.h RequestServer: Enable in Windows CI 2025-08-23 16:04:36 -06:00
WebSocket.cpp Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
WebSocket.h LibRequests: Clean up #include directives 2024-11-29 09:48:29 +01:00