diff --git a/src/client/index.ts b/src/client/index.ts index b75701b..8fa9c64 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -1,3 +1,5 @@ +import BareClient from "@mercuryworkshop/bare-mux"; + import "./scope.ts"; import "./window.ts"; import "./event.ts"; @@ -20,5 +22,10 @@ declare global { interface Window { $s: any; $sImport: any; + $client: BareClient; } } + +const client = new BareClient(); + +export { client }; \ No newline at end of file diff --git a/src/client/requests/fetch.ts b/src/client/requests/fetch.ts index ec3e76d..48a7409 100644 --- a/src/client/requests/fetch.ts +++ b/src/client/requests/fetch.ts @@ -1,13 +1,19 @@ // ts throws an error if you dont do window.fetch import { encodeUrl, rewriteHeaders } from "../shared"; +import { client } from "../index"; window.fetch = new Proxy(window.fetch, { - apply(target, thisArg, argArray) { - argArray[0] = encodeUrl(argArray[0]); + async apply(target, thisArg, argArray) { + // @ts-expect-error + const response = await client.fetch(...argArray); - return Reflect.apply(target, thisArg, argArray); - }, + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers: response.headers + }); + } }); Headers = new Proxy(Headers, { diff --git a/src/client/requests/websocket.ts b/src/client/requests/websocket.ts index 43fa158..e5340e6 100644 --- a/src/client/requests/websocket.ts +++ b/src/client/requests/websocket.ts @@ -1,6 +1,5 @@ import { decodeUrl } from "../../shared/rewriters/url"; -import { BareClient } from "../shared"; -const client = new BareClient(); +import { client } from "../index"; WebSocket = new Proxy(WebSocket, { construct(target, args) { diff --git a/src/client/window.ts b/src/client/window.ts index 94340e8..dc75359 100644 --- a/src/client/window.ts +++ b/src/client/window.ts @@ -15,12 +15,6 @@ export const windowProxy = new Proxy(window, { return window.parent; } else if (propIsString && prop === "$scramjet") { return; - } else if (propIsString && prop === "addEventListener") { - return new Proxy(window.addEventListener, { - apply(target1, thisArg, argArray) { - window.addEventListener(argArray[0], argArray[1]); - }, - }); } const value = Reflect.get(target, prop);