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