tor-browser

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

fetch-event-respond-with-partial-stream-worker.js (620B)


      1 let waitUntilResolve;
      2 
      3 let bodyController;
      4 
      5 self.addEventListener('message', evt => {
      6  if (evt.data === 'done') {
      7    bodyController.close();
      8    waitUntilResolve();
      9  }
     10 });
     11 
     12 self.addEventListener('fetch', evt => {
     13  if (!evt.request.url.includes('partial-stream.txt')) {
     14    return;
     15  }
     16 
     17  evt.waitUntil(new Promise(resolve => waitUntilResolve = resolve));
     18 
     19  let body = new ReadableStream({
     20    start: controller => {
     21      let encoder = new TextEncoder();
     22      controller.enqueue(encoder.encode('partial-stream-content'));
     23      bodyController = controller;
     24    },
     25  });
     26 
     27  evt.respondWith(new Response(body));
     28 });