diff --git a/src/puter-js/src/modules/networking/PSocket.js b/src/puter-js/src/modules/networking/PSocket.js index 73bfaa0b..c2d4b953 100644 --- a/src/puter-js/src/modules/networking/PSocket.js +++ b/src/puter-js/src/modules/networking/PSocket.js @@ -12,7 +12,7 @@ export class PSocket extends EventListener { _events = new Map(); _streamID; constructor(host, port) { - super(["data", "drain", "open", "error", "close", "tlsdata", "tlsopen"]); + super(["data", "drain", "open", "error", "close", "tlsdata", "tlsopen", "tlsclose"]); (async () => { if(!puter.authToken && puter.env === 'web'){ diff --git a/src/puter-js/src/modules/networking/PTLS.js b/src/puter-js/src/modules/networking/PTLS.js index ea4ca215..ca658eb9 100644 --- a/src/puter-js/src/modules/networking/PTLS.js +++ b/src/puter-js/src/modules/networking/PTLS.js @@ -70,14 +70,16 @@ export class PTLSSocket extends PSocket { this.emit("tlsdata", value); } } + this.emit("tlsclose", false); } catch (e) { this.emit("error", e) + this.emit("tlsclose", true); } - // this.emit("close", undefined); + })); } on(event, callback) { - if (event === "data" || event === "open") { + if (event === "data" || event === "open" || event === "close") { return super.on("tls" + event, callback) } else { return super.on(event, callback);