tor-browser

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

sw-intercept-abort.js (533B)


      1 async function messageClient(clientId, message) {
      2  const client = await clients.get(clientId);
      3  client.postMessage(message);
      4 }
      5 
      6 addEventListener('fetch', event => {
      7  let resolve;
      8  const promise = new Promise(r => resolve = r);
      9 
     10  function onAborted() {
     11     messageClient(event.clientId, event.request.signal.reason);
     12     resolve();
     13  }
     14 
     15  messageClient(event.clientId, 'fetch event has arrived');
     16 
     17  event.respondWith(promise.then(() => new Response('hello')));
     18  event.request.signal.addEventListener('abort', onAborted);
     19 });