ladybird/Services/RequestServer
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
..
Cache RequestServer: Delete unreadable cache files (for now) 2025-10-16 09:06:48 -04:00
CacheLevel.h Everywhere: Hoist the Services folder to the top-level 2024-11-10 12:50:45 +01:00
CMakeLists.txt LibRequests+RequestServer: Begin implementing an HTTP disk cache 2025-10-14 13:40:33 +02:00
ConnectionFromClient.cpp RequestServer: Issue a network request for failed cached responses 2025-10-16 09:06:48 -04:00
ConnectionFromClient.h RequestServer: Issue a network request for failed cached responses 2025-10-16 09:06:48 -04:00
Forward.h LibRequests+RequestServer: Begin implementing an HTTP disk cache 2025-10-14 13:40:33 +02:00
main.cpp LibRequests+RequestServer: Begin implementing an HTTP disk cache 2025-10-14 13:40:33 +02:00
RequestClient.ipc LibRequests: Move NetworkError stringification to LibRequests 2025-04-02 08:52:45 -04:00
RequestServer.ipc LibWebView+RequestServer: Support clearing the HTTP disk cache 2025-10-14 13:40:33 +02:00
WebSocketImplCurl.cpp RequestServer: Enable in Windows CI 2025-08-23 16:04:36 -06:00
WebSocketImplCurl.h RequestServer: Enable in Windows CI 2025-08-23 16:04:36 -06:00