From 0aa1a107c8a1be893e2368cb911caf3e452841a4 Mon Sep 17 00:00:00 2001 From: Taha Yassine Kraiem Date: Mon, 7 Mar 2022 13:14:39 +0100 Subject: [PATCH] feat(utilities): EE changed onAborted for redis-uws base --- ee/utilities/server.js | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/ee/utilities/server.js b/ee/utilities/server.js index 73aae5f70..672d27e54 100644 --- a/ee/utilities/server.js +++ b/ee/utilities/server.js @@ -76,10 +76,29 @@ if (process.env.uws !== "true") { uapp.get(PREFIX, healthFn); uapp.get(`${PREFIX}/`, healthFn); + + /* Either onAborted or simply finished request */ + function onAbortedOrFinishedResponse(res, readStream) { + + if (res.id === -1) { + console.log("ERROR! onAbortedOrFinishedResponse called twice for the same res!"); + } else { + console.log('Stream was closed, openStreams: ' + --openStreams); + console.timeEnd(res.id); + readStream.destroy(); + } + + /* Mark this response already accounted for */ + res.id = -1; + } + const uWrapper = function (fn) { - return async (res, req) => { - let response = await fn(req, res); - return response; + return (res, req) => { + res.id = 1; + res.onAborted(() => { + onAbortedOrFinishedResponse(res, readStream); + }); + return fn(req, res); } } uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList));