feat(cloudflare): worker-hosted version.json for UI updates

This commit is contained in:
Shantur Rathore
2026-01-22 16:16:36 +00:00
parent 02f1284f7f
commit adbfab5c25
7 changed files with 205 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
export interface Env {
ASSETS: { fetch: (request: Request) => Promise<Response> }
}
function withHeader(response: Response, key: string, value: string): Response {
const headers = new Headers(response.headers)
headers.set(key, value)
return new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers,
})
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const url = new URL(request.url)
if (url.pathname === "/version.json") {
const assetResponse = await env.ASSETS.fetch(request)
// Ensure this stays fresh; the server uses it on startup.
const withCache = withHeader(assetResponse, "Cache-Control", "no-cache")
return withHeader(withCache, "Content-Type", "application/json; charset=utf-8")
}
return new Response("Not found", { status: 404 })
},
}