diff options
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; + }); }; |
