mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 22:40:01 -04:00
small changes
This commit is contained in:
parent
30adf894aa
commit
a0ef702b54
16 changed files with 124 additions and 113 deletions
|
@ -1,5 +1,6 @@
|
|||
import { BareClient } from "@mercuryworkshop/bare-mux";
|
||||
import { BareResponseFetch } from "@mercuryworkshop/bare-mux"
|
||||
import { BareResponseFetch } from "@mercuryworkshop/bare-mux";
|
||||
import { encodeUrl, decodeUrl, rewriteCss, rewriteHeaders, rewriteHtml, rewriteJs } from "../bundle";
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
|
@ -7,7 +8,7 @@ declare global {
|
|||
}
|
||||
}
|
||||
|
||||
self.ScramjetServiceWorker = class ScramjetServiceWorker {
|
||||
export default class ScramjetServiceWorker {
|
||||
client: typeof BareClient.prototype;
|
||||
config: typeof self.__scramjet$config;
|
||||
constructor(config = self.__scramjet$config) {
|
||||
|
@ -25,11 +26,11 @@ self.ScramjetServiceWorker = class ScramjetServiceWorker {
|
|||
const urlParam = new URLSearchParams(new URL(request.url).search);
|
||||
|
||||
if (urlParam.has("url")) {
|
||||
return Response.redirect(self.__scramjet$bundle.rewriters.url.encodeUrl(urlParam.get("url"), new URL(urlParam.get("url"))))
|
||||
return Response.redirect(encodeUrl(urlParam.get("url"), new URL(urlParam.get("url"))))
|
||||
}
|
||||
|
||||
try {
|
||||
const url = new URL(self.__scramjet$bundle.rewriters.url.decodeUrl(request.url));
|
||||
const url = new URL(decodeUrl(request.url));
|
||||
|
||||
const response: BareResponseFetch = await this.client.fetch(url, {
|
||||
method: request.method,
|
||||
|
@ -42,18 +43,18 @@ self.ScramjetServiceWorker = class ScramjetServiceWorker {
|
|||
});
|
||||
|
||||
let responseBody;
|
||||
const responseHeaders = self.__scramjet$bundle.rewriters.rewriteHeaders(response.rawHeaders, url);
|
||||
const responseHeaders = rewriteHeaders(response.rawHeaders, url);
|
||||
if (response.body) {
|
||||
switch (request.destination) {
|
||||
case "iframe":
|
||||
case "document":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteHtml(await response.text(), url);
|
||||
responseBody = rewriteHtml(await response.text(), url);
|
||||
break;
|
||||
case "script":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteJs(await response.text(), url);
|
||||
responseBody = rewriteJs(await response.text(), url);
|
||||
break;
|
||||
case "style":
|
||||
responseBody = self.__scramjet$bundle.rewriters.rewriteCss(await response.text(), url);
|
||||
responseBody = rewriteCss(await response.text(), url);
|
||||
break;
|
||||
case "sharedworker":
|
||||
break;
|
||||
|
@ -104,7 +105,7 @@ self.ScramjetServiceWorker = class ScramjetServiceWorker {
|
|||
|
||||
console.error(err);
|
||||
|
||||
return renderError(err, self.__scramjet$bundle.rewriters.url.decodeUrl(request.url));
|
||||
return renderError(err, decodeUrl(request.url));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue