summaryrefslogtreecommitdiff
path: root/ext/http
AgeCommit message (Collapse)Author
2022-08-24feat(ext/flash): split upgradeHttp into two APIs (#15557)Luca Casonato
This commit splits `Deno.upgradeHttp` into two different APIs, because the same API is currently overloaded with two different functions. Flash requests upgrade immediately, with no need to return a `Response` object. Instead you have to manually write the response to the socket. Hyper requests only upgrade once a `Response` object has been sent. These two behaviours are now split into `Deno.upgradeHttp` and `Deno.upgradeHttpRaw`. The latter is flash only. The former only supports hyper requests at the moment, but can be updated to support flash in the future. Additionally this removes `void | Promise<void>` as valid return types for the handler function. If one wants to use `Deno.upgradeHttpRaw`, they will have to type cast the handler signature - the signature is meant for the 99.99%, and should not be complicated for the 0.01% that use `Deno.upgradeHttpRaw()`.
2022-08-18feat(ext/flash): An optimized http/1.1 server (#15405)Divy Srivastava
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl> Co-authored-by: crowlkats <crowlkats@toaxl.com> Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2022-08-17refactor(fetch/request): use callback for url and method (#15483)Leo Kettmeir
2022-08-11chore: forward v1.24.3 release commit to main (#15462)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-08-11perf(ops): Monomorphic sync op calls (#15337)Aapo Alasuutari
Welcome to better optimised op calls! Currently opSync is called with parameters of every type and count. This most definitely makes the call megamorphic. Additionally, it seems that spread params leads to V8 not being able to optimise the calls quite as well (apparently Fast Calls cannot be used with spread params). Monomorphising op calls should lead to some improved performance. Now that unwrapping of sync ops results is done on Rust side, this is pretty simple: ``` opSync("op_foo", param1, param2); // -> turns to ops.op_foo(param1, param2); ``` This means sync op calls are now just directly calling the native binding function. When V8 Fast API Calls are enabled, this will enable those to be called on the optimised path. Monomorphising async ops likely requires using callbacks and is left as an exercise to the reader.
2022-08-05chore: forward v1.24.2 release commit to main (#15410)denobot
2022-07-29Forward 1.24.1 to main (#15333) (#15336)Colin Ihrig
1.24.1 (#15333) Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
2022-07-211.24.0 (#15262)denobot
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-07-12chore: forward v1.23.4 release commit to main (#15172)Colin Ihrig
1.23.4 (#15168) Co-authored-by: cjihrig <cjihrig@users.noreply.github.com> Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
2022-07-12fix(ext/http): reading headers with ongoing body reader (#15161)Divy Srivastava
2022-07-06fix(ext/http) nextRequest return type annotation from ResponseEvent to ↵Zach
RequestEvent (#15100) Fixes #15099
2022-07-051.23.3 (#15081)denobot
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-07-04perf(ext/http): remove accept_encoding interior mutability (#15070)Divy Srivastava
2022-07-04perf(ext/http): simplify op_http_accept (#15067)Divy Srivastava
2022-07-04perf(ext/http): lazy load headers (#15055)Divy Srivastava
2022-06-30chore: forward 1.23.2 to main (#15027)David Sherret
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-23v1.23.1 (#14954)Kayla Washburn
1.23.1 (#14952) Co-authored-by: aslilac <aslilac@users.noreply.github.com> Co-authored-by: Kayla Washburn <mckayla@hey.com> Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: aslilac <aslilac@users.noreply.github.com>
2022-06-151.23.0 (#14878)denobot
* 1.23.0 * docs(Releases.md): update a few items for 1.23 * docs(Releases.md): revert bad formatting Co-authored-by: aslilac <aslilac@users.noreply.github.com> Co-authored-by: McKayla Washburn <mckayla@hey.com>
2022-06-09chore: Forward v1.22.3 to main (#14835)Colin Ihrig
* 1.22.3 (#14832) * chore: pin swc versions to fix cargo publish Co-authored-by: denobot <33910674+denobot@users.noreply.github.com> Co-authored-by: cjihrig <cjihrig@users.noreply.github.com> Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-02chore: Forward v1.22.2 to main (#14785)Bartek Iwańczuk
2022-05-271.22.1Kitson Kelly
Co-authored-by: Kitson Kelly <me@kitsonkelly.com> Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2022-05-23fix(ext/websocket): WebSocket dispatch single close event (#13443)Leo Kettmeir
2022-05-181.22.0 (#14657)denobot
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-05-18perf(ext/http): faster accept-encoding parsing (#14654)Aaron O'Mullan
2022-05-18fix(ext/http): no response body reader when cancelling during shutdown (#14653)Divy Srivastava
2022-05-17fix(ext/http): error on invalid headers (#14642)Aaron O'Mullan
Minor regression/change-in-behaviour from #14552 that filtered out invalid http headers in rust vs error-ing back to JS
2022-05-17fix(ext/http): skip auto-compression if content-encoding present (#14641)Aaron O'Mullan
Regression from #14552
2022-05-13fix(ext/http): make serveHttp compress for Accept-Encoding: deflate, gzip ↵Andy Kurnia
(#14525)
2022-05-13feat(serde_v8): bytes::Bytes support (#14412)Aaron O'Mullan
2022-05-121.21.3 (#14584)Bert Belder
2022-05-10cleanup(ext/http): simpler http write ops (#14552)Aaron O'Mullan
Facilitates making `op_http_write_headers` sync and thus faster
2022-05-051.21.2 (#14508)Colin Ihrig
1.21.2
2022-05-05chore: update deps (#14416)Luca Casonato
2022-05-04fix(ext/http): explicitly close resource after reading (#14471)Divy Srivastava
2022-04-28Forward 1.21.1 (#14428)Leo Kettmeir
2022-04-25chore: deno_http v0.43.1 (#14392)Aaron O'Mullan
2022-04-25fix(ext/http): truncate read bytes when streaming bodies (#14389)Divy Srivastava
stream shutdown wasn't happening correctly (moved it to call op_http_shutdown) & extra zeroed bytes were being sent for when body length not a multiple of 64*1024
2022-04-25perf(ext/http): fast path for uncompressed bodies (#14366)Divy Srivastava
2022-04-24perf(ext/http): faster is_content_compressible (#14383)Aaron O'Mullan
Cleanup + benches
2022-04-24perf(serde_v8): zero-copy StringOrBuffer (#14381)Aaron O'Mullan
2022-04-22chore: bump crates (#14365)Luca Casonato
2022-04-22Reland "perf(http): optimize ReadableStreams backed by a resource" (#14346)Divy Srivastava
2022-04-21Reland "feat(ext/http): stream auto resp body compression" (#14345)Divy Srivastava
2022-04-201.21.0 (#14336)denobot
Co-authored-by: ry <ry@users.noreply.github.com> Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-21Revert various PRs related to "ext/http" (#14339)Bartek Iwańczuk
* Revert "feat(ext/http): stream auto resp body compression (#14325)" * Revert "core: introduce `resource.read_return` (#14331)" * Revert "perf(http): optimize `ReadableStream`s backed by a resource (#14284)"
2022-04-20feat(ext/http): stream auto resp body compression (#14325)Luca Casonato
This commit adds support for auto response body compression for streaming bodies.
2022-04-20core: introduce `resource.read_return` (#14331)Divy Srivastava
2022-04-20perf(http): optimize `ReadableStream`s backed by a resource (#14284)Divy Srivastava
2022-04-14chore: forward v1.20.6 release commit to main (#14288)David Sherret
2022-04-07chore: forward v1.20.5 release commit to main (#14232)David Sherret