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.config.js");
|
||||||
importScripts("/scramjet.bundle.js");
|
importScripts("/scramjet.bundle.js");
|
||||||
import { BareClient } from "@mercuryworkshop/bare-mux";
|
import { BareClient } from "@mercuryworkshop/bare-mux";
|
||||||
import { BareResponseFetch } from "@tomphttp/bare-client"
|
import { BareResponseFetch } from "@mercuryworkshop/bare-mux"
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
interface Window {
|
interface Window {
|
||||||
|
@ -31,19 +31,31 @@ self.ScramjetServiceWorker = class ScramjetServiceWorker {
|
||||||
let responseBody;
|
let responseBody;
|
||||||
const responseHeaders = self.__scramjet$bundle.rewriters.rewriteHeaders(response.rawHeaders, origin);
|
const responseHeaders = self.__scramjet$bundle.rewriters.rewriteHeaders(response.rawHeaders, origin);
|
||||||
|
|
||||||
if (event.request.destination === "document") {
|
switch (event.request.destination) {
|
||||||
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url.origin);
|
case "document":
|
||||||
} else if (event.request.destination === "style") {
|
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url.origin);
|
||||||
responseBody = self.__scramjet$bundle.rewriters.rewriteCss(await response.text(), url.origin);
|
break;
|
||||||
} else if (event.request.destination === "script") {
|
case "iframe":
|
||||||
responseBody = self.__scramjet$bundle.rewriters.rewriteJs(await response.text(), url.origin);
|
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url.origin);
|
||||||
} else {
|
break;
|
||||||
responseBody = response.body;
|
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) {
|
if (crossOriginIsolated) {
|
||||||
// response.headers["Cross-Origin-Embedder-Policy"] = "require-cors";
|
responseHeaders["Cross-Origin-Embedder-Policy"] = "require-corp";
|
||||||
// }
|
}
|
||||||
|
|
||||||
return new Response(responseBody, {
|
return new Response(responseBody, {
|
||||||
headers: responseHeaders as HeadersInit,
|
headers: responseHeaders as HeadersInit,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue