ladybird/Userland/Libraries/LibWeb/Fetch/Infrastructure
Timothy Flynn 6056428cb5 LibWeb: Support unbuffered fetch requests
Supporting unbuffered fetches is actually part of the fetch spec in its
HTTP-network-fetch algorithm. We had previously implemented this method
in a very ad-hoc manner as a simple wrapper around ResourceLoader. This
is still the case, but we now implement a good amount of these steps
according to spec, using ResourceLoader's unbuffered API. The response
data is forwarded through to the fetch response using streams.

This will eventually let us remove the use of ResourceLoader's buffered
API, as all responses should just be streamed this way. The streams spec
then supplies ways to wait for completion, thus allowing fully buffered
responses. However, we have more work to do to make the other parts of
our fetch implementation (namely, Body::fully_read) use streams before
we can do this.
2024-05-26 18:29:24 +02:00
..
HTTP LibWeb: Support unbuffered fetch requests 2024-05-26 18:29:24 +02:00
ConnectionTimingInfo.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
ConnectionTimingInfo.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
FetchAlgorithms.cpp LibJS: Add missing Base::visit_edges() in FetchAlgorithms and Navigable 2024-04-04 07:50:13 +02:00
FetchAlgorithms.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
FetchController.cpp LibWeb: Track fetching-related tasks in FetchController for cancellation 2024-03-23 13:45:35 +01:00
FetchController.h LibWeb: Track fetching-related tasks in FetchController for cancellation 2024-03-23 13:45:35 +01:00
FetchParams.cpp LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
FetchParams.h LibWeb: Put most LibWeb GC objects in type-specific heap blocks 2023-11-19 22:00:48 +01:00
FetchTimingInfo.cpp LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
FetchTimingInfo.h LibWeb: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
HTTP.cpp LibWeb: Remove OOM propagation from Fetch::Infrastructure::HTTP 2024-04-27 07:08:14 +02:00
HTTP.h LibWeb: Remove OOM propagation from Fetch::Infrastructure::HTTP 2024-04-27 07:08:14 +02:00
IncrementalReadLoopReadRequest.cpp LibWeb: Implement the concept incrementally read a body 2024-05-20 16:57:52 -04:00
IncrementalReadLoopReadRequest.h LibWeb: Implement the concept incrementally read a body 2024-05-20 16:57:52 -04:00
MimeTypeBlocking.cpp LibWeb: Remove OOM propagation from Fetch::Infrastructure::Headers 2024-04-27 07:08:14 +02:00
MimeTypeBlocking.h LibWeb: Remove OOM propagation from Fetch::Infrastructure::Headers 2024-04-27 07:08:14 +02:00
NoSniffBlocking.cpp LibWeb: Remove OOM propagation from Fetch::Infrastructure::Headers 2024-04-27 07:08:14 +02:00
NoSniffBlocking.h LibWeb: Remove OOM propagation from Fetch::Infrastructure::Headers 2024-04-27 07:08:14 +02:00
PortBlocking.cpp LibWeb/Fetch: Block ports 4190 and 6679 2024-05-07 17:27:37 -06:00
PortBlocking.h LibWeb: Implement 'Should request be blocked due to a bad port' AO 2022-10-30 20:10:29 +00:00
RequestOrResponseBlocking.h LibWeb: Implement 'Should request be blocked due to a bad port' AO 2022-10-30 20:10:29 +00:00
Task.cpp LibWeb: Let queue_fetch_task() take a JS::HeapFunction 2024-04-20 18:11:01 +02:00
Task.h LibWeb: Let queue_fetch_task() take a JS::HeapFunction 2024-04-20 18:11:01 +02:00
URL.cpp LibWeb: Process Base64 data URLs with the forgiving Base64 algorithm 2024-03-25 08:13:27 +01:00
URL.h LibURL+LibWeb: Move data URL processing to LibWeb's fetch infrastructure 2024-03-25 08:13:27 +01:00