From f7e3c528c97e7e152e6c6a97a0557cdc55391a6b Mon Sep 17 00:00:00 2001 From: Jacky Date: Tue, 4 Feb 2025 19:55:21 +0800 Subject: [PATCH] fix(vite): [dev proxy] sse not close --- app/vite.config.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/vite.config.ts b/app/vite.config.ts index 44e3b2a9..8160a0fa 100644 --- a/app/vite.config.ts +++ b/app/vite.config.ts @@ -1,3 +1,4 @@ +import { Agent } from 'node:http' import { fileURLToPath, URL } from 'node:url' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' @@ -81,6 +82,22 @@ export default defineConfig(({ mode }) => { changeOrigin: true, secure: false, ws: true, + timeout: 5000, + agent: new Agent({ + keepAlive: false, + }), + onProxyReq(proxyReq, req) { + proxyReq.setHeader('Connection', 'keep-alive') + if (req.headers.accept === 'text/event-stream') { + proxyReq.setHeader('Cache-Control', 'no-cache') + proxyReq.setHeader('Content-Type', 'text/event-stream') + } + }, + onProxyReqWs(proxyReq, req, socket) { + socket.on('close', () => { + proxyReq.destroy() + }) + }, }, }, },