aboutsummaryrefslogtreecommitdiffstats
path: root/src/hooks.server.ts
blob: 1bb8e1326ba931282c926b8a1e0083deae5769e0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { ipStore } from "$lib/server/ip";
import { setIpGetter } from "$lib/utils";
import type { Handle } from "@sveltejs/kit";

setIpGetter(() => ipStore.getStore());

export const handle: Handle = async ({ event, resolve }) => {
  let ip =
    event.request.headers.get("cf-connecting-ip") ||
    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));
};