fix(pwa): 🐛 don't serve errored resources in service worker proxy
This commit is contained in:
parent
5669489dc9
commit
087843c800
|
@ -90,7 +90,9 @@ async function fetchHandler(event: FetchEvent) {
|
|||
// Cache first for "pre-cached-urls"
|
||||
if (preCachedUrls.includes(url.pathname) && method === 'GET') {
|
||||
const cached = await cache.match(event.request) ??
|
||||
await fetch(event.request).catch(() => null) ??
|
||||
await fetch(event.request).then((response) =>
|
||||
response.ok ? response : null
|
||||
).catch(() => null) ??
|
||||
await cache.match(event.request, { ignoreSearch: true })
|
||||
|
||||
if (cached === undefined) {
|
||||
|
@ -105,7 +107,12 @@ async function fetchHandler(event: FetchEvent) {
|
|||
|
||||
const response = fetch(event.request)
|
||||
.then((response) => {
|
||||
// Update cache
|
||||
if (!response.ok) {
|
||||
throw new Error(
|
||||
`failed to get request: [${response.status}] ${response.statusText}`,
|
||||
)
|
||||
}
|
||||
// Update cache if ok
|
||||
cache.put(event.request, response.clone())
|
||||
return response
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue