deno/ext/http
Laurence Rowe e5819777c3
refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822)
Use HttpRecord as response body so requests can be tracked all the way
to response body completion.

This allows Request properties to be accessed while the response body is
streaming.

Graceful shutdown now awaits a future instead of async spinning waiting
for requests to finish.

On the minimal benchmark this refactor improves performance an
additional 2% over pooling alone for a net 3% increase over the previous
deno main branch.

Builds upon https://github.com/denoland/deno/pull/20809 and
https://github.com/denoland/deno/pull/20770.

---------

Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-11-13 19:17:31 +00:00
..
benches chore: use rustfmt imports_granularity option (#17421) 2023-01-14 23:18:58 -05:00
00_serve.js refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822) 2023-11-13 19:17:31 +00:00
01_http.js feat: disposable Deno resources (#20845) 2023-11-01 20:26:12 +01:00
Cargo.toml refactor(ext/http): refer to HttpRecord directly using v8::External (#20770) 2023-11-13 07:04:49 -07:00
compressible.rs chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
http_next.rs refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822) 2023-11-13 19:17:31 +00:00
hyper_util_tokioio.rs feat(ext/http): Upgrade to hyper1.0-rc4 (#19987) 2023-07-31 07:34:53 -06:00
lib.rs refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822) 2023-11-13 19:17:31 +00:00
network_buffered_stream.rs chore: fix typos (#19572) 2023-06-26 09:10:27 -04:00
reader_stream.rs chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md chore: add README to ext/http/ (#11958) 2021-09-08 20:48:28 +02:00
request_body.rs fix(ext/http): ensure aborted bodies throw (#20503) 2023-09-15 08:08:21 -06:00
request_properties.rs refactor(ext/http): generic abstract listeners (#19132) 2023-05-15 16:55:47 +02:00
response_body.rs refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822) 2023-11-13 19:17:31 +00:00
service.rs refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822) 2023-11-13 19:17:31 +00:00
websocket_upgrade.rs chore: update to Rust 1.71 (#19822) 2023-07-13 15:16:24 -06:00

deno_http

This crate implements server-side HTTP based on primitives from the Fetch API.