Source code

Revision control

Copy as Markdown

Other Tools

// Service worker for the xhr-response-url test.
self.addEventListener('fetch', event => {
const url = new URL(event.request.url);
const respondWith = url.searchParams.get('respondWith');
if (!respondWith)
return;
if (respondWith == 'fetch') {
const target = url.searchParams.get('url');
event.respondWith(fetch(target));
return;
}
if (respondWith == 'string') {
const headers = {'content-type': 'text/plain'};
event.respondWith(new Response('hello', {headers}));
return;
}
if (respondWith == 'document') {
const doc = `
<!DOCTYPE html>
<html>
<title>hi</title>
<body>hello</body>
</html>`;
const headers = {'content-type': 'text/html'};
event.respondWith(new Response(doc, {headers}));
return;
}
});