Created by: jkorycki-skype
Http-proxy has a big memory leak when forwarding websockets. Test case: socket.io client establishes websocket to a socket.io server, via http-proxy. The client holds the connection for some time (e.g. 10 sec), closes the connection, establishes another one, holds it open for a while, closes, etc. in a loop. Use several hundred clients to observe a consistent memory growth, hundreds of MB in a few minutes. Garbage collection does not reclaim the lost memory.
The fix is in node-http-proxy/http-poxy.js by registering on 'close' handlers of incoming and outgoing socket, in addition to already present on 'end' handlers. The test case described above stopped leaking memory completely after applying this fix.
Repro test case can be made available upon request.