tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

service-worker.sjs (923B)


      1 /* Any copyright is dedicated to the Public Domain.
      2    http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 const body = `
      7 dump("Starting\\n");
      8 
      9 self.addEventListener("activate", event => {
     10   dump("Activate\\n");
     11   event.waitUntil(self.clients.claim());
     12 });
     13 
     14 self.addEventListener("fetch", event => {
     15   const url = event.request.url;
     16   dump("Fetch: " + url + "\\n");
     17   if (url.includes("whatever")) {
     18     const response = new Response("Service worker response STATUS", { statusText: "OK" });
     19     event.respondWith(response);
     20   }
     21 });
     22 
     23 self.addEventListener("install", event => {
     24   dump("Install\\n");
     25 });
     26 `;
     27 
     28 function handleRequest(request, response) {
     29   response.setHeader("Content-Type", "text/javascript");
     30 
     31   const arr = /setStatus=(.*)/.exec(request.queryString);
     32   if (arr) {
     33     setState("status", arr[1]);
     34   }
     35 
     36   const status = getState("status");
     37   response.write(body.replace("STATUS", status));
     38 }