From 78b8b4bddd98c9d2904678fc78a472d7dbc7bb95 Mon Sep 17 00:00:00 2001 From: Gabriel Grant Date: Wed, 16 Aug 2017 11:08:57 -0700 Subject: [PATCH] feat: special-case error events to serialize message field --- src/server/call.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/server/call.ts b/src/server/call.ts index 1de3212..de62e2a 100644 --- a/src/server/call.ts +++ b/src/server/call.ts @@ -121,6 +121,15 @@ export class Call { private callEventHandler(eventId: string, isBin: boolean = false) { return (data: any) => { + if (eventId === 'error') { + // An error's message is not enumerable, so doesn't get included + // by JSON.stringify(). Copy error info to a new, serializable object + let enumerableError: any = {}; + Object.getOwnPropertyNames(data).forEach(key => { + enumerableError[key] = data[key]; + }); + data = enumerableError; + } let callEvent: IGBCallEvent = { service_id: this.clientServiceId, call_id: this.clientId,