mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-14 06:50:01 -04:00
clean up rewriter and add iframe support
This commit is contained in:
parent
715245e98a
commit
9d4f5d9abd
1 changed files with 24 additions and 12 deletions
|
@ -2,7 +2,7 @@ importScripts("/scramjet.codecs.js");
|
|||
importScripts("/scramjet.config.js");
|
||||
importScripts("/scramjet.bundle.js");
|
||||
import { BareClient } from "@mercuryworkshop/bare-mux";
|
||||
import { BareResponseFetch } from "@tomphttp/bare-client"
|
||||
import { BareResponseFetch } from "@mercuryworkshop/bare-mux"
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
|
@ -31,19 +31,31 @@ self.ScramjetServiceWorker = class ScramjetServiceWorker {
|
|||
let responseBody;
|
||||
const responseHeaders = self.__scramjet$bundle.rewriters.rewriteHeaders(response.rawHeaders, origin);
|
||||
|
||||
if (event.request.destination === "document") {
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url.origin);
|
||||
} else if (event.request.destination === "style") {
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteCss(await response.text(), url.origin);
|
||||
} else if (event.request.destination === "script") {
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteJs(await response.text(), url.origin);
|
||||
} else {
|
||||
responseBody = response.body;
|
||||
switch (event.request.destination) {
|
||||
case "document":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url.origin);
|
||||
break;
|
||||
case "iframe":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url.origin);
|
||||
break;
|
||||
case "script":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteJs(await response.text(), url.origin);
|
||||
break;
|
||||
case "style":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteCss(await response.text(), url.origin);
|
||||
break;
|
||||
case "sharedworker":
|
||||
break;
|
||||
case "worker":
|
||||
break;
|
||||
default:
|
||||
responseBody = response.body;
|
||||
break;
|
||||
}
|
||||
|
||||
// if (crossOriginIsolated) {
|
||||
// response.headers["Cross-Origin-Embedder-Policy"] = "require-cors";
|
||||
// }
|
||||
if (crossOriginIsolated) {
|
||||
responseHeaders["Cross-Origin-Embedder-Policy"] = "require-corp";
|
||||
}
|
||||
|
||||
return new Response(responseBody, {
|
||||
headers: responseHeaders as HeadersInit,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue