'use strict'; self.addEventListener('fetch', event => { if (!event.request.url.match(/body-stream$/)) return; var counter = 0; const encoder = new TextEncoder(); const stream = new ReadableStream({ pull: controller => { switch (++counter) { case 1: controller.enqueue(encoder.encode('')); return; case 2: controller.enqueue(encoder.encode('chunk #1')); return; case 3: controller.enqueue(encoder.encode(' ')); return; case 4: controller.enqueue(encoder.encode('chunk #2')); return; case 5: controller.enqueue(encoder.encode(' ')); return; case 6: controller.enqueue(encoder.encode('chunk #3')); return; case 7: controller.enqueue(encoder.encode(' ')); return; case 8: controller.enqueue(encoder.encode('chunk #4')); return; default: controller.close(); } }}); event.respondWith(new Response(stream)); });