@@ -3,7 +3,7 @@ import { BareClient, BareHeaders, BareResponseFetch } from "../bare-mux-custom";
33import { MessageW2C , ScramjetServiceWorker } from "@/worker" ;
44import { renderError } from "@/worker/error" ;
55import { FakeServiceWorker } from "@/worker/fakesw" ;
6- import { CookieStore } from "@/shared/cookie" ;
6+ import { CookieJar } from "@/shared/cookie" ;
77
88import {
99 rewriteUrl ,
@@ -32,7 +32,7 @@ export interface ScramjetFetchContext {
3232
3333 forceCrossOriginIsolated : boolean ;
3434 initialHeaders : ScramjetHeaders ;
35- cookieStore : CookieStore ;
35+ cookieStore : CookieJar ;
3636
3737 rawClientUrl ?: URL ;
3838}
@@ -584,57 +584,57 @@ export async function rewriteHeaders(
584584 // Emulate the referrer policy to set it back to what it should've been without Force Referrer in place
585585 if ( typeof headers [ "referer" ] === "string" ) {
586586 const referrerUrl = new URL ( headers [ "referer" ] ) ;
587- const storedPolicyData = await getReferrerPolicy ( referrerUrl . href ) ;
588- if ( storedPolicyData ) {
589- const storedReferrerPolicy = storedPolicyData . policy
590- . toLowerCase ( )
591- . split ( "," )
592- . map ( ( rawDir ) => rawDir . trim ( ) ) ;
593- if (
594- storedReferrerPolicy . includes ( "no-referrer" ) ||
595- ( storedReferrerPolicy . includes ( "no-referrer-when-downgrade" ) &&
596- parsed . meta . origin . protocol === "http:" &&
597- referrerUrl . protocol === "https:" )
598- ) {
599- delete headers [ "referer" ] ;
600- } else if ( storedReferrerPolicy . includes ( "origin" ) ) {
601- headers [ "referer" ] = referrerUrl . origin ;
602- } else if ( storedReferrerPolicy . includes ( "origin-when-cross-origin" ) ) {
603- if ( referrerUrl . origin !== parsed . meta . origin . origin ) {
604- headers [ "referer" ] = referrerUrl . origin ;
605- } else {
606- headers [ "referer" ] = referrerUrl . href ;
607- }
608- } else if ( storedReferrerPolicy . includes ( "same-origin" ) ) {
609- if ( referrerUrl . origin === parsed . meta . origin . origin ) {
610- headers [ "referer" ] = referrerUrl . href ;
611- } else {
612- delete headers [ "referer" ] ;
613- }
614- } else if ( storedReferrerPolicy . includes ( "strict-origin" ) ) {
615- if (
616- parsed . meta . origin . protocol === "http:" &&
617- referrerUrl . protocol === "https:"
618- ) {
619- delete headers [ "referer" ] ;
620- } else {
621- headers [ "referer" ] = referrerUrl . origin ;
622- }
623- }
624- // `strict-origin-when-cross-origin` is the default behavior anyway
625- else {
626- if ( referrerUrl . origin === parsed . meta . origin . origin ) {
627- headers [ "referer" ] = referrerUrl . href ;
628- } else if (
629- parsed . meta . origin . protocol === "http:" &&
630- referrerUrl . protocol === "https:"
631- ) {
632- delete headers [ "referer" ] ;
633- } else {
634- headers [ "referer" ] = referrerUrl . origin ;
635- }
636- }
587+ // const storedPolicyData = await getReferrerPolicy(referrerUrl.href);
588+ // if (storedPolicyData) {
589+ // const storedReferrerPolicy = storedPolicyData.policy
590+ // .toLowerCase()
591+ // .split(",")
592+ // .map((rawDir) => rawDir.trim());
593+ // if (
594+ // storedReferrerPolicy.includes("no-referrer") ||
595+ // (storedReferrerPolicy.includes("no-referrer-when-downgrade") &&
596+ // parsed.meta.origin.protocol === "http:" &&
597+ // referrerUrl.protocol === "https:")
598+ // ) {
599+ // delete headers["referer"];
600+ // } else if (storedReferrerPolicy.includes("origin")) {
601+ // headers["referer"] = referrerUrl.origin;
602+ // } else if (storedReferrerPolicy.includes("origin-when-cross-origin")) {
603+ // if (referrerUrl.origin !== parsed.meta.origin.origin) {
604+ // headers["referer"] = referrerUrl.origin;
605+ // } else {
606+ // headers["referer"] = referrerUrl.href;
607+ // }
608+ // } else if (storedReferrerPolicy.includes("same-origin")) {
609+ // if (referrerUrl.origin === parsed.meta.origin.origin) {
610+ // headers["referer"] = referrerUrl.href;
611+ // } else {
612+ // delete headers["referer"];
613+ // }
614+ // } else if (storedReferrerPolicy.includes("strict-origin")) {
615+ // if (
616+ // parsed.meta.origin.protocol === "http:" &&
617+ // referrerUrl.protocol === "https:"
618+ // ) {
619+ // delete headers["referer"];
620+ // } else {
621+ // headers["referer"] = referrerUrl.origin;
622+ // }
623+ // }
624+ // // `strict-origin-when-cross-origin` is the default behavior anyway
625+ // else {
626+ if ( referrerUrl . origin === parsed . meta . origin . origin ) {
627+ headers [ "referer" ] = referrerUrl . href ;
628+ } else if (
629+ parsed . meta . origin . protocol === "http:" &&
630+ referrerUrl . protocol === "https:"
631+ ) {
632+ delete headers [ "referer" ] ;
633+ } else {
634+ headers [ "referer" ] = referrerUrl . origin ;
637635 }
636+ // }
637+ // }
638638 }
639639 if (
640640 typeof headers [ "sec-fetch-dest" ] === "string" &&
@@ -661,18 +661,18 @@ export async function rewriteHeaders(
661661 }
662662 }
663663
664- const isNavigationRequest =
665- context . mode === "navigate" &&
666- [ "document" , "iframe" ] . includes ( context . destination ) ;
664+ // const isNavigationRequest =
665+ // context.mode === "navigate" &&
666+ // ["document", "iframe"].includes(context.destination);
667667
668668 // Store referrer policy from navigation responses for Force Referrer
669- if ( isNavigationRequest && headers [ "referrer-policy" ] && context . referrer ) {
670- await storeReferrerPolicy (
671- parsed . url . href ,
672- headers [ "referrer-policy" ] ,
673- context . referrer
674- ) ;
675- }
669+ // if (isNavigationRequest && headers["referrer-policy"] && context.referrer) {
670+ // await storeReferrerPolicy(
671+ // parsed.url.href,
672+ // headers["referrer-policy"],
673+ // context.referrer
674+ // );
675+ // }
676676
677677 if ( headers [ "accept" ] === "text/event-stream" ) {
678678 headers [ "content-type" ] = "text/event-stream" ;
0 commit comments