diff options
author | 2023-11-16 08:39:41 +0900 | |
---|---|---|
committer | 2023-11-16 05:09:41 +0530 | |
commit | c9487138d6d8fd39c8c8512239b6724cf2b275ff (patch) | |
tree | 5d9f7cb1dc6b134327b1dad89bd0b4dd93765c27 /packages/integrations/node/test/api-route.test.js | |
parent | eeac2885514ecde558ad39bcee39f78f7b60109e (diff) | |
download | astro-c9487138d6d8fd39c8c8512239b6724cf2b275ff.tar.gz astro-c9487138d6d8fd39c8c8512239b6724cf2b275ff.tar.zst astro-c9487138d6d8fd39c8c8512239b6724cf2b275ff.zip |
Cancel response stream when connection closes (#9071)
* 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>
Diffstat (limited to 'packages/integrations/node/test/api-route.test.js')
-rw-r--r-- | packages/integrations/node/test/api-route.test.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/integrations/node/test/api-route.test.js b/packages/integrations/node/test/api-route.test.js index c830eee2d..7d9422ab4 100644 --- a/packages/integrations/node/test/api-route.test.js +++ b/packages/integrations/node/test/api-route.test.js @@ -89,4 +89,23 @@ describe('API routes', () => { let [out] = await done; expect(new Uint8Array(out.buffer)).to.deep.equal(expectedDigest); }); + + it('Can bail on streaming', async () => { + const { handler } = await import('./fixtures/api-route/dist/server/entry.mjs'); + let { req, res, done } = createRequestAndResponse({ + url: '/streaming', + }); + + let locals = { cancelledByTheServer: false }; + + handler(req, res, () => {}, locals); + req.send(); + + await new Promise((resolve) => setTimeout(resolve, 500)); + res.emit("close"); + + await done; + + expect(locals).to.deep.include({ cancelledByTheServer: true }); + }); }); |