File tree Expand file tree Collapse file tree 1 file changed +18
-8
lines changed Expand file tree Collapse file tree 1 file changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -35,15 +35,25 @@ self.addEventListener('fetch', event => {
35
35
const cachedResponse = await caches . match ( event . request ) ;
36
36
if ( cachedResponse ) return cachedResponse ;
37
37
38
- const url = new URL ( event . request . url ) ;
38
+ try {
39
+ const response = await fetch ( event . request ) ;
39
40
40
- < % # Attempt to return the index page from the cache if the user is visiting a url like devdocs . io / offline or devdocs . io / javascript / global_objects / array / find % >
41
- < % # The index page will handle the routing % >
42
- if (url.origin === location.origin && ! url . pathname . includes ( '.' ) ) {
43
- const cachedIndex = await caches . match ( '/' ) ;
44
- if ( cachedIndex ) return cachedIndex ;
45
- }
41
+ if ( ! response . ok ) {
42
+ throw new Error ( `The HTTP request failed with status code ${ response . status } ` ) ;
43
+ }
44
+
45
+ return response ;
46
+ } catch ( err ) {
47
+ const url = new URL ( event . request . url ) ;
46
48
47
- return fetch ( event . request ) ;
49
+ < % # Attempt to return the index page from the cache if the user is visiting a url like devdocs . io / offline or devdocs . io / javascript / global_objects / array / find % >
50
+ < % # The index page will make sure the correct documentation or a proper offline page is shown % >
51
+ if (url.origin === location.origin && ! url . pathname . includes ( '.' ) ) {
52
+ const cachedIndex = await caches . match ( '/' ) ;
53
+ if ( cachedIndex ) return cachedIndex ;
54
+ }
55
+
56
+ throw err ;
57
+ }
48
58
} ) ( ) ) ;
49
59
} );
You can’t perform that action at this time.
0 commit comments