From 7a88935070b66d0ec7ee4d92203b92ab997f419c Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Thu, 16 Nov 2023 11:08:31 -0800 Subject: [PATCH] dont fail on bad messages --- src/wsConnectionManager.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/wsConnectionManager.ts b/src/wsConnectionManager.ts index 42cf309..478a571 100644 --- a/src/wsConnectionManager.ts +++ b/src/wsConnectionManager.ts @@ -121,7 +121,14 @@ async function main() { switch (messageType) { case 'subscribe': { - const redisChannel = getRedisChannelFromMessage(parsedMessage); + let redisChannel: string; + try { + redisChannel = getRedisChannelFromMessage(parsedMessage); + } catch (error) { + ws.send(JSON.stringify({ error: error.message })); + return; + } + if (!subscribedChannels.has(redisChannel)) { console.log('Trying to subscribe to channel', redisChannel); redisClient.client @@ -156,7 +163,13 @@ async function main() { break; } case 'unsubscribe': { - const redisChannel = getRedisChannelFromMessage(parsedMessage); + let redisChannel: string; + try { + redisChannel = getRedisChannelFromMessage(parsedMessage); + } catch (error) { + ws.send(JSON.stringify({ error: error.message })); + return; + } const subscribers = channelSubscribers.get(redisChannel); if (subscribers) { channelSubscribers.get(redisChannel).delete(ws);