This commit is contained in:
seb
2026-10-16 01:40:32 +02:00
parent 084b1b285e
commit 2165afcc02

View File

@@ -552,14 +552,19 @@ export function register(app, basePath = '') {
res.setTimeout?.(0); res.setTimeout?.(0);
req.socket?.setNoDelay(true); req.socket?.setNoDelay(true);
res.setHeader('Content-Type', 'text/event-stream'); res.writeHead(200, {
res.setHeader('Cache-Control', 'no-cache, no-transform'); 'Content-Type': 'text/event-stream',
res.setHeader('Connection', 'keep-alive'); 'Cache-Control': 'no-cache, no-transform',
res.setHeader('X-Accel-Buffering', 'no'); 'Connection': 'keep-alive',
'X-Accel-Buffering': 'no',
});
if (typeof res.flushHeaders === 'function') { if (typeof res.flushHeaders === 'function') {
res.flushHeaders(); res.flushHeaders();
} }
// Initial ping to establish frame through any proxy
res.write(': ping\n\n');
req.on('close', () => { req.on('close', () => {
console.warn(`[Company Import SSE] Client request closed (writableEnded: ${res.writableEnded}, destroyed: ${res.destroyed})`); console.warn(`[Company Import SSE] Client request closed (writableEnded: ${res.writableEnded}, destroyed: ${res.destroyed})`);
}); });
@@ -584,6 +589,7 @@ export function register(app, basePath = '') {
} }
res.write(`event: ${event}\ndata: ${JSON.stringify(data)}\n\n`); res.write(`event: ${event}\ndata: ${JSON.stringify(data)}\n\n`);
if (typeof res.flush === 'function') res.flush(); if (typeof res.flush === 'function') res.flush();
if (typeof req.socket?.uncork === 'function') req.socket.uncork();
}; };
sseWrite('status', { message: 'Import gestartet. Daten werden verarbeitet...' }); sseWrite('status', { message: 'Import gestartet. Daten werden verarbeitet...' });