Cancel response stream when connection closes#9071
Cancel response stream when connection closes#9071lilnasy merged 4 commits intowithastro:mainfrom pilcrowonpaper:node-cancel-stream
Conversation
🦋 Changeset detectedLatest commit: d2f50f2 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Thanks for the enhancement, the code looks great! Good eye on the unused modules as well. Do you think this behavior could be easily tested? |
|
@lilnasy Hm, it should be possible, though I'm not sure what's the best way to test step 4
|
|
What is the current unwanted behavior? Is it that the readable stream continues to produce chunks, possibly endlessly? |
Yeah. This is especially an issue for server sent events since there's no definite end to the stream. It continues to push data until the client closes the connection |
|
Yeah, we could use locals for that. I'll take a look. |
|
Is it true that the response body can be a
|
|
I think it's possible in the past when we support returning simple objects in endpoints, but now that we enforce and coerce to Response, it shouldn't apply now. |
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* main: feat(i18n): add `Astro.currentLocale` (withastro#9101) [ci] release (withastro#9107) Add compatibility with cloudflare node (withastro#8925) [ci] format Cancel response stream when connection closes (withastro#9071) [ci] format feat(i18n): apply specific routing logic only to pages (withastro#9091) feat(dev-overlay): Hide plugins into a separate menu when there's too many enabled (withastro#9102) [ci] format Support Svelte 5 (experimental) (withastro#9098) [ci] release (withastro#9078) [ci] format Refactor shikiji syntax highlighting code (withastro#9083) [ci] format fix: Query params trigger the trailingSlash error in preview mode (withastro#9045) fix(assets): bundling regression for specific config on non-Node runtimes (withastro#9087)
* cancel stream on close * add changeset * add test * Update .changeset/modern-ways-develop.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: lilnasy <69170106+lilnasy@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* cancel stream on close * add changeset * add test * Update .changeset/modern-ways-develop.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: lilnasy <69170106+lilnasy@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* cancel stream on close * add changeset * add test * Update .changeset/modern-ways-develop.md Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> --------- Co-authored-by: lilnasy <69170106+lilnasy@users.noreply.github.com> Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
Changes
ReadableStreamin response body not canceled when client closes connection #9068Testing
No test added, would love some directions
Docs
None