From de7de48706ef2616fab15785aa0fb5b88ceea6b3 Mon Sep 17 00:00:00 2001 From: Percs <83934299+Percslol@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:33:03 -0500 Subject: [PATCH] patch up fake websocket --- src/client.ts | 4 ++-- src/websocket.ts | 14 ++++---------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/client.ts b/src/client.ts index 5855b7d..2468ed4 100644 --- a/src/client.ts +++ b/src/client.ts @@ -159,8 +159,8 @@ export class BareClient { requestHeaders['Connection'] = 'Upgrade'; const socket = new BareWebSocket(remote, protocols, this.worker, requestHeaders, arrayBufferImpl) - - return socket as WebSocket; + + return socket as unknown as WebSocket; } async fetch( diff --git a/src/websocket.ts b/src/websocket.ts index aa2af3a..fda626f 100644 --- a/src/websocket.ts +++ b/src/websocket.ts @@ -14,10 +14,6 @@ export class BareWebSocket extends EventTarget { onmessage = (event: MessageEvent) => {}; onclose = (event: CloseEvent) => {}; - CONNECTING = WebSocketFields.CONNECTING; - OPEN = WebSocketFields.OPEN; - CLOSING = WebSocketFields.CLOSING - CLOSED = WebSocketFields.CLOSED; channel: MessageChannel; constructor( remote: string | URL, @@ -33,7 +29,7 @@ export class BareWebSocket extends EventTarget { const onopen = (protocol: string) => { this.readyState = WebSocketFields.OPEN; this.protocols = protocol; - + (this as any).meta = { headers: { "sec-websocket-protocol": protocol, @@ -45,9 +41,7 @@ export class BareWebSocket extends EventTarget { }; const onmessage = async (payload) => { - if (typeof payload === "string") { - console.log("string strung") - } else if ("byteLength" in payload) { + if ("byteLength" in payload) { if (this.binaryType === "blob") { payload = new Blob([payload]); } else { @@ -60,7 +54,7 @@ export class BareWebSocket extends EventTarget { } } - let event = new MessageEvent("message", {data: payload }); + const event = new MessageEvent("message", {data: payload }); this.dispatchEvent(event); this.onmessage(event); }; @@ -120,7 +114,7 @@ export class BareWebSocket extends EventTarget { } close(code, reason) { - this.readyState = this.CLOSING; + this.readyState = WebSocketFields.CLOSING; this.channel.port1.postMessage({ type: "close", closeCode: code, closeReason: reason }); }