From 8aa212593dfd727023e5e5f1fe76de06a5145f08 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Tue, 19 May 2020 01:21:07 -0700 Subject: [PATCH] Updated terminal flow, to check for promise completion --- agents/meshcore.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/agents/meshcore.js b/agents/meshcore.js index 19b4291b..db7a3551 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -1185,6 +1185,8 @@ function createMeshCore(agent) { this.end = function () { if (this.httprequest.tpromise._consent) { this.httprequest.tpromise._consent.close(); } + if (this.httprequest.connectionPromise) { this.httprequest.connectionPromise._rej('Closed'); } + // Remove the terminal session to the count to update the server if (this.httprequest.userid != null) { @@ -1272,7 +1274,14 @@ function createMeshCore(agent) { this.httprequest._dispatcher.httprequest = this.httprequest; this.httprequest._dispatcher.on('connection', function (c) { - this.httprequest.connectionPromise._res(c); + if (this.httprequest.connectionPromise.completed) + { + c.end(); + } + else + { + this.httprequest.connectionPromise._res(c); + } }); } else @@ -1305,7 +1314,14 @@ function createMeshCore(agent) { that.httprequest._dispatcher.ws = that; that.httprequest._dispatcher.on('connection', function (c) { - this.ws.httprequest.connectionPromise._res(c); + if (this.ws.httprequest.connectionPromise.completed) + { + c.end(); + } + else + { + this.ws.httprequest.connectionPromise._res(c); + } }); } });