blob: 03a0698ec49fc96217a00f1f7de8da87de71aba4 [file] [log] [blame]
var response;
var status = "no status";
self.addEventListener("fetch", (event) => {
if (event.request.url.indexOf("status") !== -1) {
event.respondWith(new Response(null, {status: 200, statusText: status}));
return;
}
if (!event.request.url.endsWith(".fromserviceworker")) {
status = "unknown url";
event.respondWith(new Response(null, {status: 404, statusText: "Not Found"}));
return;
}
url = event.request.url.substring(0, event.request.url.length - 18).substring(21);
status = "Fetching " + url;
event.respondWith(fetch(url).then((r) => {
response = r;
status = "Got response for " + event.request.url.substring(0, event.request.url.length - 18) + ", status code is " + response.status;
return response.arrayBuffer();
}).then((buffer) => {
var headers = new Headers(response.headers);
headers.set("cache-control", "no-cache");
return new Response(buffer, {headers: headers});
}));
});