From 0456e994bad2d6efd447bcaf81763f3a6ab63246 Mon Sep 17 00:00:00 2001 From: Percs <83934299+Percslol@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:53:49 -0500 Subject: [PATCH] more organization + add websocket rewriting --- src/client/index.ts | 5 +++-- src/client/{ => requests}/fetch.ts | 0 src/client/requests/websocket.ts | 16 ++++++++++++++++ src/client/{ => requests}/xmlhttprequest.ts | 0 4 files changed, 19 insertions(+), 2 deletions(-) rename src/client/{ => requests}/fetch.ts (100%) create mode 100644 src/client/requests/websocket.ts rename src/client/{ => requests}/xmlhttprequest.ts (100%) diff --git a/src/client/index.ts b/src/client/index.ts index b2eaa43..344b00a 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -3,8 +3,9 @@ import "./trustedTypes.ts"; import "./eval.ts"; import "./storage"; import "./element.ts"; -import "./fetch.ts"; -import "./xmlhttprequest.ts"; +import "./requests/fetch.ts"; +import "./requests/xmlhttprequest.ts"; +import "./requests/websocket.ts" import "./css.ts"; declare global { diff --git a/src/client/fetch.ts b/src/client/requests/fetch.ts similarity index 100% rename from src/client/fetch.ts rename to src/client/requests/fetch.ts diff --git a/src/client/requests/websocket.ts b/src/client/requests/websocket.ts new file mode 100644 index 0000000..91d0c7b --- /dev/null +++ b/src/client/requests/websocket.ts @@ -0,0 +1,16 @@ +import { BareClient } from "@mercuryworkshop/bare-mux" +const client = new BareClient() +const RealWebSocket = WebSocket +WebSocket = new Proxy(WebSocket, { + construct(_target, args) { + return client.createWebSocket( + args[0], + args[1], + RealWebSocket, + { + "User-Agent": navigator.userAgent + }, + ArrayBuffer.prototype + ) + } +}) \ No newline at end of file diff --git a/src/client/xmlhttprequest.ts b/src/client/requests/xmlhttprequest.ts similarity index 100% rename from src/client/xmlhttprequest.ts rename to src/client/requests/xmlhttprequest.ts