Created
July 24, 2019 14:51
-
-
Save jthomas/3c6c1db53e6f8ae7e70e2238b8c3374b to your computer and use it in GitHub Desktop.
Revisions
-
jthomas created this gist
Jul 24, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,34 @@ const INDEX_DOCUMENT = 'index.html' const ERROR_DOCUMENT = '404.html' addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) /** * @param {Request} request */ async function handleRequest(request) { const url = new URL(request.url) if (url.pathname.endsWith('/')) { url.pathname = `${url.pathname}${INDEX_DOCUMENT}` request = new Request(url, request) } let response = await fetch(request) if (response.status === 404) { url.pathname = ERROR_DOCUMENT request = new Request(url, request) response = await fetch(request) response = new Response(response.body, { status: 404, statusText: 'Not Found', headers: response.headers }) } return response }