Skip to content

Instantly share code, notes, and snippets.

@RReverser
Created July 19, 2020 13:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RReverser/4727d46ba133d9471f51355ae505d097 to your computer and use it in GitHub Desktop.
Save RReverser/4727d46ba133d9471f51355ae505d097 to your computer and use it in GitHub Desktop.
addEventListener('fetch', event => {
if (event.request.method === 'PUT') {
event.respondWith(handleRequest(event));
}
});
async function handleRequest(event) {
let response = await fetch(event.request);
if (!response.ok) return response;
let urls = ['/'];
try {
let json = await response.clone().json();
urls = urls.concat(json.posts.map(post => post.url));
event.waitUntil(Promise.allSettled(
urls.map(url => caches.default.delete(`https://rreverser.com${url}`))
));
} finally {
return response;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment