blob: aaabdc391a9e5ed426b5698c34a0907e2c61470a [file] [log] [blame]
'use strict';
importScripts("/resources/testharness.js");
self.addEventListener('fetch', event => {
const url = new URL(event.request.url);
if (!url.searchParams.has('stream')) return;
if (url.searchParams.has('use-fetch-stream')) {
event.respondWith(async function() {
const response = await fetch('pass.txt');
return new Response(response.body);
}());
return;
}
const delayEnqueue = url.searchParams.has('delay');
const stream = new ReadableStream({
start(controller) {
const encoder = new TextEncoder();
const populate = () => {
controller.enqueue(encoder.encode('PASS'));
controller.close();
}
if (delayEnqueue) {
step_timeout(populate, 16);
}
else {
populate();
}
}
});
event.respondWith(new Response(stream));
});