diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 3d82f18..7f43ca4 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@pushrocks/smartproxy', - version: '3.0.56', + version: '3.0.57', description: 'a proxy for handling high workloads of proxying' } diff --git a/ts/smartproxy.classes.networkproxy.ts b/ts/smartproxy.classes.networkproxy.ts index 4ef72d4..0e9669e 100644 --- a/ts/smartproxy.classes.networkproxy.ts +++ b/ts/smartproxy.classes.networkproxy.ts @@ -268,10 +268,19 @@ JNj2Dr5H0XoLFFnvuvzcRbhlJ9J67JzR+7g= // console.log("upstream to client", message); wsIncoming.send(message, { binary: isBinary }); }); - wsIncoming.on("error", () => wsOutgoing.terminate()); - wsOutgoing.on("error", () => wsIncoming.terminate()); - wsIncoming.on("close", () => wsOutgoing.terminate()); - wsOutgoing.on("close", () => wsIncoming.terminate()); + const terminateWsOutgoing = () => { + wsOutgoing.terminate(); + console.log('terminated outgoing ws.'); + } + wsIncoming.on("error", () => terminateWsOutgoing()); + wsIncoming.on("close", () => terminateWsOutgoing()); + + const terminateWsIncoming = () => { + wsIncoming.terminate(); + console.log('terminated incoming ws.'); + } + wsOutgoing.on("error", () => terminateWsIncoming()); + wsOutgoing.on("close", () => terminateWsIncoming()); }); this.httpsServer.keepAliveTimeout = 600 * 1000;