diff --git a/src/client/shared/requests/xmlhttprequest.ts b/src/client/shared/requests/xmlhttprequest.ts index 52443f7..f548595 100644 --- a/src/client/shared/requests/xmlhttprequest.ts +++ b/src/client/shared/requests/xmlhttprequest.ts @@ -33,7 +33,7 @@ export default function (client: ScramjetClient, self: Self) { if (!flagEnabled("syncxhr", client.url)) { console.warn("ignoring request - sync xhr disabled in flags"); - return; + return ctx.return(undefined); } // it's a sync request diff --git a/src/controller/index.ts b/src/controller/index.ts index 126b060..e988c96 100644 --- a/src/controller/index.ts +++ b/src/controller/index.ts @@ -7,7 +7,7 @@ export class ScramjetController { constructor(config: Partial) { // sane ish defaults - const defaultConfig: Partial = { + const defaultConfig: ScramjetConfig = { prefix: "/scramjet/", globals: { wrapfn: "$scramjet$wrap", @@ -26,7 +26,7 @@ export class ScramjetController { client: "/scramjet.client.js", sync: "/scramjet.sync.js", }, - defaultFlags: { + flags: { serviceworkers: false, naiiveRewriter: false, captureErrors: true, diff --git a/src/scramjet.ts b/src/scramjet.ts index 031451a..810a2a2 100644 --- a/src/scramjet.ts +++ b/src/scramjet.ts @@ -27,7 +27,7 @@ export function loadCodecs() { } export function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean { - const value = $scramjet.config.defaultFlags[flag]; + const value = $scramjet.config.flags[flag]; for (const regex in $scramjet.config.siteFlags) { const partialflags = $scramjet.config.siteFlags[regex]; if (new RegExp(regex).test(url.href) && flag in partialflags) { diff --git a/src/types.d.ts b/src/types.d.ts index 121b7a9..888cf0b 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -54,7 +54,7 @@ interface ScramjetConfig { client: string; sync: string; }; - defaultFlags: ScramjetFlags; + flags: ScramjetFlags; siteFlags: Record>; codec: { encode: string; diff --git a/static/playground.js b/static/playground.js index dc94718..9ebb5d3 100644 --- a/static/playground.js +++ b/static/playground.js @@ -6,10 +6,9 @@ const scramjet = new ScramjetController({ shared: "/scram/scramjet.shared.js", sync: "/scram/scramjet.sync.js", }, - siteFlags: { - "https://worker-playground.glitch.me/.*": { - serviceworkers: true, - }, + flags: { + serviceworkers: true, + syncxhr: true, }, });