Add basic demo SPA to display claims
This commit is contained in:
3
example/demo/workers-site/.gitignore
vendored
Normal file
3
example/demo/workers-site/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
node_modules
|
||||
dist
|
||||
worker
|
||||
39
example/demo/workers-site/index.js
Normal file
39
example/demo/workers-site/index.js
Normal file
@@ -0,0 +1,39 @@
|
||||
import { getAssetFromKV, mapRequestToAsset } from '@cloudflare/kv-asset-handler'
|
||||
|
||||
const DEBUG = false
|
||||
|
||||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleEvent(event))
|
||||
})
|
||||
|
||||
async function handleEvent(event) {
|
||||
let options = {}
|
||||
options.mapRequestToAsset = spaRouting()
|
||||
options.cacheControl = {
|
||||
bypassCache: DEBUG,
|
||||
}
|
||||
|
||||
try {
|
||||
const page = await getAssetFromKV(event, options)
|
||||
const response = new Response(page.body, page)
|
||||
response.headers.set('X-XSS-Protection', '1; mode=block')
|
||||
response.headers.set('X-Content-Type-Options', 'nosniff')
|
||||
response.headers.set('X-Frame-Options', 'DENY')
|
||||
response.headers.set('Referrer-Policy', 'unsafe-url')
|
||||
response.headers.set('Feature-Policy', 'none')
|
||||
return response
|
||||
} catch (e) {
|
||||
return new Response(e.message || e.toString(), { status: 500 })
|
||||
}
|
||||
}
|
||||
|
||||
function spaRouting() {
|
||||
return request => {
|
||||
let defaultAssetKey = mapRequestToAsset(request)
|
||||
let url = new URL(defaultAssetKey.url)
|
||||
if (url.pathname.includes(".html")) {
|
||||
url.pathname = "/index.html"
|
||||
}
|
||||
return new Request(url.toString(), defaultAssetKey)
|
||||
}
|
||||
}
|
||||
10
example/demo/workers-site/package.json
Normal file
10
example/demo/workers-site/package.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"private": true,
|
||||
"version": "1.0.0",
|
||||
"description": "A template for kick starting a Cloudflare Workers project",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cloudflare/kv-asset-handler": "~0.1.2"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user