imagine killing websocket server because of one client error, lmao

This commit is contained in:
HF 2020-04-17 19:36:27 +02:00
parent dd61ff064d
commit 865419f8ed
2 changed files with 12 additions and 2 deletions

View File

@ -17,6 +17,9 @@ const logger = createLogger({
new transports.Console(), new transports.Console(),
], ],
}); });
logger.error.bind(logger);
logger.info.bind(logger);
logger.warn.bind(logger);
export const proxyLogger = createLogger({ export const proxyLogger = createLogger({
transports: [ transports: [

View File

@ -67,7 +67,9 @@ class SocketServer extends WebSocketEvents {
}); });
this.wss = wss; 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) => { wss.on('connection', async (ws, req) => {
ws.isAlive = true; ws.isAlive = true;
@ -84,7 +86,11 @@ class SocketServer extends WebSocketEvents {
ws.send(`"${ws.name}"`); 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', () => { ws.on('close', () => {
// is close called on terminate? // is close called on terminate?
// possible memory leak? // possible memory leak?
@ -92,6 +98,7 @@ class SocketServer extends WebSocketEvents {
this.deleteAllChunks(ws); this.deleteAllChunks(ws);
}); });
ws.on('message', (message) => { ws.on('message', (message) => {
logger.error(`WebSocket Client Connection Error ${message}`);
if (typeof message === 'string') { if (typeof message === 'string') {
this.onTextMessage(message, ws); this.onTextMessage(message, ws);
} else { } else {