dont fail on bad messages
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user