chore: defaultFlags -> flags, sync xhr fixes

This commit is contained in:
Percs 2024-12-11 10:43:49 -06:00
parent ef8735f95a
commit 00de00e7ca
5 changed files with 8 additions and 9 deletions

View file

@ -33,7 +33,7 @@ export default function (client: ScramjetClient, self: Self) {
if (!flagEnabled("syncxhr", client.url)) { if (!flagEnabled("syncxhr", client.url)) {
console.warn("ignoring request - sync xhr disabled in flags"); console.warn("ignoring request - sync xhr disabled in flags");
return; return ctx.return(undefined);
} }
// it's a sync request // it's a sync request

View file

@ -7,7 +7,7 @@ export class ScramjetController {
constructor(config: Partial<ScramjetConfig>) { constructor(config: Partial<ScramjetConfig>) {
// sane ish defaults // sane ish defaults
const defaultConfig: Partial<ScramjetConfig> = { const defaultConfig: ScramjetConfig = {
prefix: "/scramjet/", prefix: "/scramjet/",
globals: { globals: {
wrapfn: "$scramjet$wrap", wrapfn: "$scramjet$wrap",
@ -26,7 +26,7 @@ export class ScramjetController {
client: "/scramjet.client.js", client: "/scramjet.client.js",
sync: "/scramjet.sync.js", sync: "/scramjet.sync.js",
}, },
defaultFlags: { flags: {
serviceworkers: false, serviceworkers: false,
naiiveRewriter: false, naiiveRewriter: false,
captureErrors: true, captureErrors: true,

View file

@ -27,7 +27,7 @@ export function loadCodecs() {
} }
export function flagEnabled(flag: keyof ScramjetFlags, url: URL): boolean { 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) { for (const regex in $scramjet.config.siteFlags) {
const partialflags = $scramjet.config.siteFlags[regex]; const partialflags = $scramjet.config.siteFlags[regex];
if (new RegExp(regex).test(url.href) && flag in partialflags) { if (new RegExp(regex).test(url.href) && flag in partialflags) {

2
src/types.d.ts vendored
View file

@ -54,7 +54,7 @@ interface ScramjetConfig {
client: string; client: string;
sync: string; sync: string;
}; };
defaultFlags: ScramjetFlags; flags: ScramjetFlags;
siteFlags: Record<string, Partial<ScramjetFlags>>; siteFlags: Record<string, Partial<ScramjetFlags>>;
codec: { codec: {
encode: string; encode: string;

View file

@ -6,10 +6,9 @@ const scramjet = new ScramjetController({
shared: "/scram/scramjet.shared.js", shared: "/scram/scramjet.shared.js",
sync: "/scram/scramjet.sync.js", sync: "/scram/scramjet.sync.js",
}, },
siteFlags: { flags: {
"https://worker-playground.glitch.me/.*": {
serviceworkers: true, serviceworkers: true,
}, syncxhr: true,
}, },
}); });