diff options
Diffstat (limited to 'src/hooks.server.ts')
| -rw-r--r-- | src/hooks.server.ts | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 780e62ad..1bb8e132 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -5,10 +5,17 @@ import type { Handle } from "@sveltejs/kit"; setIpGetter(() => ipStore.getStore()); export const handle: Handle = async ({ event, resolve }) => { - const ip = + let ip = event.request.headers.get("cf-connecting-ip") || - event.request.headers.get("x-forwarded-for")?.split(",")[0]?.trim() || - event.getClientAddress(); + event.request.headers.get("x-forwarded-for")?.split(",")[0]?.trim(); + + if (!ip) { + try { + ip = event.getClientAddress(); + } catch { + ip = "127.0.0.1"; + } + } return ipStore.run(ip, () => resolve(event)); }; |
