dont fail on bad messages

This commit is contained in:
Nour Alharithi
2023-11-16 11:08:31 -08:00
parent 16197130d3
commit 7a88935070

View File

@@ -121,7 +121,14 @@ async function main() {
switch (messageType) { switch (messageType) {
case 'subscribe': { 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)) { if (!subscribedChannels.has(redisChannel)) {
console.log('Trying to subscribe to channel', redisChannel); console.log('Trying to subscribe to channel', redisChannel);
redisClient.client redisClient.client
@@ -156,7 +163,13 @@ async function main() {
break; break;
} }
case 'unsubscribe': { 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); const subscribers = channelSubscribers.get(redisChannel);
if (subscribers) { if (subscribers) {
channelSubscribers.get(redisChannel).delete(ws); channelSubscribers.get(redisChannel).delete(ws);