diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-11-23 16:41:43 +0100 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-11-23 16:41:43 +0100 |
| commit | 1e31b71afd1ead4644e99df6838a55481176e09a (patch) | |
| tree | f1107a55f2b2f6ed838190ac259cd5b698bcc56f /static/service-worker/worker.js | |
| parent | 2e8f59aaeb731dd726f8d49d120ae4cc8a7cf512 (diff) | |
add fonts and create-user endpoint
Diffstat (limited to 'static/service-worker/worker.js')
| -rw-r--r-- | static/service-worker/worker.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/static/service-worker/worker.js b/static/service-worker/worker.js new file mode 100644 index 0000000..ad5a374 --- /dev/null +++ b/static/service-worker/worker.js @@ -0,0 +1,18 @@ +const putInCache = async (request, response) => { + const cache = await caches.open("v1"); + await cache.put(request, response); +}; + +const cacheFirst = async (request, event) => { + const responseFromCache = await caches.match(request); + if (responseFromCache) { + return responseFromCache; + } + const responseFromNetwork = await fetch(request); + event.waitUntil(putInCache(request, responseFromNetwork.clone())); + return responseFromNetwork; +}; + +self.addEventListener("fetch", (event) => { + event.respondWith(cacheFirst(event.request, event)); +}); |