Compare commits

...

8 Commits

44
sw.js

@ -1,6 +1,7 @@
async function initCache() {
const cache = await caches.open('v1')
await cache.addAll([
'/',
'/app.js',
'/components/file-group-page.js',
'/components/header.js',
@ -25,7 +26,7 @@ async function initCache() {
'/settings/connections.js',
'/settings/connection-edit.js',
'/editor-lib-codemirror/codemirror-bundle.js',
'/storage/storage.js', //2
'/storage/storage.js',
])
}
@ -34,30 +35,33 @@ self.addEventListener("install", event => {
event.waitUntil(initCache())
})
async function cacheFirst(request) {
if (request.url.includes('/-/frame')) {
const url = new URL(request.url)
if (url.pathname === '/-/frame') {
const html = url.searchParams.get('html')
const csp = url.searchParams.get('csp')
return new Response(html, {
headers: {
'Content-Type': 'text/html; charset=utf-8',
'Content-Security-Policy': csp,
}
})
}
}
const resp = await caches.match(request)
if (resp) {
return resp
async function handleFetch(url, request) {
if (url.pathname === '/-/frame') {
const html = url.searchParams.get('html')
const csp = url.searchParams.get('csp')
return new Response(html, {
headers: {
'Content-Type': 'text/html; charset=utf-8',
'Content-Security-Policy': csp,
},
})
} else {
return fetch(request)
const resp = await caches.match(request)
if (resp) {
return resp
} else {
return fetch(request)
}
}
}
self.addEventListener('fetch', event => {
event.respondWith(cacheFirst(event.request))
const url = new URL(event.request.url)
if (url.pathname.startsWith('/macchiato/api/')) {
return false
} else {
event.respondWith(handleFetch(url, event.request))
}
})
self.addEventListener('activate', event => {

Loading…
Cancel
Save