tor-browser

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

fetch-event-respond-with-readable-stream-chunk-worker.js (1131B)


      1 'use strict';
      2 
      3 self.addEventListener('fetch', event => {
      4    if (!event.request.url.match(/body-stream$/))
      5        return;
      6 
      7    var counter = 0;
      8    const encoder = new TextEncoder();
      9    const stream = new ReadableStream({ pull: controller => {
     10        switch (++counter) {
     11        case 1:
     12            controller.enqueue(encoder.encode(''));
     13            return;
     14        case 2:
     15            controller.enqueue(encoder.encode('chunk #1'));
     16            return;
     17        case 3:
     18            controller.enqueue(encoder.encode(' '));
     19            return;
     20        case 4:
     21            controller.enqueue(encoder.encode('chunk #2'));
     22            return;
     23        case 5:
     24            controller.enqueue(encoder.encode(' '));
     25            return;
     26        case 6:
     27            controller.enqueue(encoder.encode('chunk #3'));
     28            return;
     29        case 7:
     30            controller.enqueue(encoder.encode(' '));
     31            return;
     32        case 8:
     33            controller.enqueue(encoder.encode('chunk #4'));
     34            return;
     35        default:
     36            controller.close();
     37        }
     38    }});
     39    event.respondWith(new Response(stream));
     40 });