diff options
| author | Adam Soltys <[email protected]> | 2026-03-03 13:24:22 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-03-03 13:24:22 -0800 |
| commit | c6ed33aa9d1d0cdd65aa8d81aa9a05551e975822 (patch) | |
| tree | ce1f545d62188e40eeaa1f5b122e3ea2a1abee81 /src/hooks.server.ts | |
| parent | 4dff71696bef790dfbb471202f489c724437aa7c (diff) | |
| download | coinos-ui-c6ed33aa9d1d0cdd65aa8d81aa9a05551e975822.tar.gz coinos-ui-c6ed33aa9d1d0cdd65aa8d81aa9a05551e975822.zip | |
prerender static pages and add edge cache headers
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Diffstat (limited to 'src/hooks.server.ts')
| -rw-r--r-- | src/hooks.server.ts | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 1bb8e132..fcb1d461 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -17,5 +17,26 @@ export const handle: Handle = async ({ event, resolve }) => { } } - return ipStore.run(ip, () => resolve(event)); + return ipStore.run(ip, async () => { + const response = await resolve(event); + const { pathname } = event.url; + const hasToken = event.cookies.get("token"); + + if (!hasToken) { + const cacheTTL: Record<string, number> = { + "/": 300, + "/bounties": 300, + "/privacy": 86400, + "/removal": 86400, + "/forgot": 3600, + }; + + const ttl = cacheTTL[pathname]; + if (ttl) { + response.headers.set("CDN-Cache-Control", `max-age=${ttl}`); + } + } + + return response; + }); }; |
