From 24a3dfa04ab096bf1d44ac538f3253d56fcbe069 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 8 Oct 2021 17:42:04 +0800 Subject: [PATCH 1/2] fix(server): skipped for ended response --- packages/vite/src/node/server/send.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/vite/src/node/server/send.ts b/packages/vite/src/node/server/send.ts index 1c54ec46f88af8..777e91abf9438c 100644 --- a/packages/vite/src/node/server/send.ts +++ b/packages/vite/src/node/server/send.ts @@ -20,6 +20,10 @@ export function send( cacheControl = 'no-cache', map?: SourceMap | null ): void { + if (res.writableEnded) { + return + } + if (req.headers['if-none-match'] === etag) { res.statusCode = 304 return res.end() From 66c344f18fed235a5c8cd2d974a760607c845cb8 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sat, 9 Oct 2021 13:38:28 +0800 Subject: [PATCH 2/2] chore: skip closed res --- packages/vite/src/node/server/middlewares/indexHtml.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index 9d870fe8df8f19..45d0e8f3749eae 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -151,6 +151,10 @@ export function indexHtmlMiddleware( ): Connect.NextHandleFunction { // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` return async function viteIndexHtmlMiddleware(req, res, next) { + if (res.writableEnded) { + return next() + } + const url = req.url && cleanUrl(req.url) // spa-fallback always redirects to /index.html if (url?.endsWith('.html') && req.headers['sec-fetch-dest'] !== 'script') {