From 865419f8ed26241a39691fa689ee38fd300eb89a Mon Sep 17 00:00:00 2001 From: HF Date: Fri, 17 Apr 2020 19:36:27 +0200 Subject: [PATCH] imagine killing websocket server because of one client error, lmao --- src/core/logger.js | 3 +++ src/socket/SocketServer.js | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/core/logger.js b/src/core/logger.js index 6f9439f..a91a496 100644 --- a/src/core/logger.js +++ b/src/core/logger.js @@ -17,6 +17,9 @@ const logger = createLogger({ new transports.Console(), ], }); +logger.error.bind(logger); +logger.info.bind(logger); +logger.warn.bind(logger); export const proxyLogger = createLogger({ transports: [ diff --git a/src/socket/SocketServer.js b/src/socket/SocketServer.js index d9b0f93..c506bb2 100644 --- a/src/socket/SocketServer.js +++ b/src/socket/SocketServer.js @@ -67,7 +67,9 @@ class SocketServer extends WebSocketEvents { }); this.wss = wss; - wss.on('error', logger.error); + wss.on('error', (e) => { + logger.error(`WebSocket Server Error ${e.message}`); + }); wss.on('connection', async (ws, req) => { ws.isAlive = true; @@ -84,7 +86,11 @@ class SocketServer extends WebSocketEvents { ws.send(`"${ws.name}"`); } - ws.on('error', logger.error); + ws.on('error', (e) => { + logger.error(`WebSocket Client Connection Error ${e.message}`); + ipCounter.delete(ip); + this.deleteAllChunks(ws); + }); ws.on('close', () => { // is close called on terminate? // possible memory leak? @@ -92,6 +98,7 @@ class SocketServer extends WebSocketEvents { this.deleteAllChunks(ws); }); ws.on('message', (message) => { + logger.error(`WebSocket Client Connection Error ${message}`); if (typeof message === 'string') { this.onTextMessage(message, ws); } else {