Skip to content

SSE close events do not make it through proxy running on WindowsΒ #678

Open
@Nerdsie

Description

@Nerdsie

yarn why http-proxy-middleware OR npm ls http-proxy-middleware output (mask private folder names with *****)

[email protected] D:\Development\proxy
`-- [email protected]

Describe the bug (be clear and concise)

When proxy is run on Windows, although data passes to the client, the server doesn't receive any SSE "closed" events until the proxy itself is stopped.

Here is the minimal proxy I am running:

const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');

const app = express();

app.use('/', createProxyMiddleware({ target: 'http://localhost:3002/', changeOrigin: true }));
app.listen(3003);

I have a SSE server running on 3002, I connect to it on 3003 (via the proxy)

Step-by-step reproduction instructions

1. Launch an SSE server
2. On Windows, launch given minimal proxy example pointing to SSE server
3. Connect a SSE client to the server via the proxy
4. Close the SSE client

Expected behavior (be clear and concise)

The server should register the SSE "close" event

What http-proxy-middleware configuration are you using?

createProxyMiddleware({ target: 'http://localhost:3002/', changeOrigin: true })

What OS/version and node/version are you seeing the problem?

Windows 11 Pro Insider Preview -- Version 10.0.22489 Build 22489
 -- I'm almost certain I began experiencing this problem before running Windows 11
Node - v16.3.0

Additional context (optional)

Works inside WSL, does not work from Powershell or CMD

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions