Skip to content

Commit ea2621f

Browse files
committed
fix: handle malformed incoming messages
Signed-off-by: Ricardo Arturo Cabral Mejía <me@ricardocabral.io>
1 parent fe9ad92 commit ea2621f

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/adapters/web-socket-adapter.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,17 @@ export class WebSocketAdapter extends EventEmitter implements IWebSocketAdapter
154154

155155
await messageHandler?.handleMessage(message)
156156
} catch (error) {
157-
if (error instanceof Error && error.name === 'AbortError') {
158-
debug('message handler aborted')
159-
} else if (error instanceof Error && error.name === 'ValidationError') {
160-
debug('invalid message: %o', (error as any).annotate())
161-
this.sendMessage(createNoticeMessage(`Invalid message: ${error.message}`))
157+
if (error instanceof Error) {
158+
if (error.name === 'AbortError') {
159+
debug('message handler aborted')
160+
} else if (error.name === 'SyntaxError' || error.name === 'ValidationError') {
161+
if (typeof (error as any).annotate === 'function') {
162+
debug('invalid message: %o', (error as any).annotate())
163+
} else {
164+
debug('malformed message: %s', error.message)
165+
}
166+
this.sendMessage(createNoticeMessage(`invalid: ${error.message}`))
167+
}
162168
} else {
163169
console.error('unable to handle message', error)
164170
}

0 commit comments

Comments
 (0)