diff --git a/src/worker/index.ts b/src/worker/index.ts index 5b63278..0afbe28 100644 --- a/src/worker/index.ts +++ b/src/worker/index.ts @@ -50,13 +50,17 @@ export class ScramjetServiceWorker { switch (request.destination) { case "iframe": case "document": - responseBody = - ` - - ${["codecs", "config", "html"].map((script) => "").join("")} - - `; - this.html = await response.text(); + if (responseHeaders["content-type"].startsWith("text/html")) { + responseBody = + ` + + ${["codecs", "config", "html"].map((script) => "").join("")} + + `; + this.html = await response.text(); + } else { + responseBody = response.body + } break; case "script": responseBody = rewriteJs(await response.text(), url); @@ -74,7 +78,7 @@ export class ScramjetServiceWorker { } } // downloads - if (request.destination === "document") { + if (["document", "iframe"].includes(request.destination)) { const header = responseHeaders["content-disposition"]; // validate header and test for filename