From aa2044eb8dad37365718974572ec2da47f4d8c0f Mon Sep 17 00:00:00 2001 From: Jignesh Patel Date: Wed, 28 Aug 2024 19:48:19 +1000 Subject: [PATCH 1/4] handle blob type in ws --- src/lib/connect/ws.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/connect/ws.ts b/src/lib/connect/ws.ts index 5be4bfce6..3304fd5a2 100644 --- a/src/lib/connect/ws.ts +++ b/src/lib/connect/ws.ts @@ -256,9 +256,10 @@ const browserStreamBuilder: StreamBuilder = (client, opts) => { /** * https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/message_event */ - function onMessage(event: MessageEvent) { + async function onMessage(event: MessageEvent) { let { data } = event if (data instanceof ArrayBuffer) data = Buffer.from(data) + else if (data instanceof Blob) data = Buffer.from(await new Response(data).arrayBuffer()) else data = Buffer.from(data as string, 'utf8') if (proxy && !proxy.destroyed) { proxy.push(data) From a91db7d7107389e33fbae16748600048a0842ac3 Mon Sep 17 00:00:00 2001 From: Jignesh Patel Date: Wed, 28 Aug 2024 20:04:28 +1000 Subject: [PATCH 2/4] fix formatting --- src/lib/connect/ws.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/connect/ws.ts b/src/lib/connect/ws.ts index 3304fd5a2..9c28b5a85 100644 --- a/src/lib/connect/ws.ts +++ b/src/lib/connect/ws.ts @@ -258,9 +258,13 @@ const browserStreamBuilder: StreamBuilder = (client, opts) => { */ async function onMessage(event: MessageEvent) { let { data } = event - if (data instanceof ArrayBuffer) data = Buffer.from(data) - else if (data instanceof Blob) data = Buffer.from(await new Response(data).arrayBuffer()) - else data = Buffer.from(data as string, 'utf8') + if (data instanceof ArrayBuffer) + data = Buffer.from(data) + else if (data instanceof Blob) + data = Buffer.from(await new Response(data).arrayBuffer()) + else + data = Buffer.from(data as string, 'utf8') + if (proxy && !proxy.destroyed) { proxy.push(data) } From 7e34e303e4c5638db37bbd8d7c398e117c519872 Mon Sep 17 00:00:00 2001 From: Jignesh Patel Date: Wed, 28 Aug 2024 20:12:02 +1000 Subject: [PATCH 3/4] formatting changes --- src/lib/connect/ws.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/lib/connect/ws.ts b/src/lib/connect/ws.ts index 9c28b5a85..7378bfff1 100644 --- a/src/lib/connect/ws.ts +++ b/src/lib/connect/ws.ts @@ -257,14 +257,10 @@ const browserStreamBuilder: StreamBuilder = (client, opts) => { * https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/message_event */ async function onMessage(event: MessageEvent) { - let { data } = event - if (data instanceof ArrayBuffer) - data = Buffer.from(data) - else if (data instanceof Blob) - data = Buffer.from(await new Response(data).arrayBuffer()) - else - data = Buffer.from(data as string, 'utf8') - + let { data } = event; + if (data instanceof ArrayBuffer) data = Buffer.from(data) + else if (data instanceof Blob) data = Buffer.from(await new Response(data).arrayBuffer()) + else data = Buffer.from(data as string, 'utf8') if (proxy && !proxy.destroyed) { proxy.push(data) } From 02f4c99e50a05766f3b8bbbad7ff3f06d4465a88 Mon Sep 17 00:00:00 2001 From: Jignesh Patel Date: Wed, 28 Aug 2024 20:22:02 +1000 Subject: [PATCH 4/4] lint fix --- src/lib/connect/ws.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/connect/ws.ts b/src/lib/connect/ws.ts index 7378bfff1..5c5b7e978 100644 --- a/src/lib/connect/ws.ts +++ b/src/lib/connect/ws.ts @@ -257,9 +257,10 @@ const browserStreamBuilder: StreamBuilder = (client, opts) => { * https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/message_event */ async function onMessage(event: MessageEvent) { - let { data } = event; + let { data } = event if (data instanceof ArrayBuffer) data = Buffer.from(data) - else if (data instanceof Blob) data = Buffer.from(await new Response(data).arrayBuffer()) + else if (data instanceof Blob) + data = Buffer.from(await new Response(data).arrayBuffer()) else data = Buffer.from(data as string, 'utf8') if (proxy && !proxy.destroyed) { proxy.push(data)