diff options
Diffstat (limited to 'static/service-worker/worker.js')
| -rw-r--r-- | static/service-worker/worker.js | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/static/service-worker/worker.js b/static/service-worker/worker.js deleted file mode 100644 index 666c7d3..0000000 --- a/static/service-worker/worker.js +++ /dev/null @@ -1,41 +0,0 @@ -const cachable_api = [ - '/api/image/load/', -]; - -const is_cachable = (url) => { - for (const api of cachable_api) { - console.log(api, url); - if (url.includes(api)) { - return true; - } - } - - return false; -} - -const put_in_cache = async (request, response) => { - const cache = await caches.open("v1"); - await cache.put(request, response); -}; - -const cache_first = async (request, event) => { - if (request.method !== 'GET') { - return await fetch(request); - } - - if (!is_cachable(request.url)) { - return await fetch(request); - } - - const cache_response = await caches.match(request); - if (cache_response) { - return cache_response; - } - const network_response = await fetch(request); - event.waitUntil(put_in_cache(request, network_response.clone())); - return network_response; -}; - -self.addEventListener("fetch", (event) => { - event.respondWith(cache_first(event.request, event)); -}); |