Source code
Revision control
Copy as Markdown
Other Tools
self.addEventListener('fetch', (event) => {
const params = new URL(event.request.url).searchParams;
if (params.has('ignore')) {
return;
}
if (!params.has('name')) {
event.respondWith(Promise.reject(TypeError('No name is provided.')));
return;
}
event.respondWith(Promise.resolve().then(async () => {
const name = params.get('name');
await caches.delete('foo');
const cache = await caches.open('foo');
await cache.put(event.request, new Response('hello'));
const keys = await cache.keys();
const original = event.request[name];
const stored = keys[0][name];
return new Response(`original: ${original}, stored: ${stored}`);
}));
});