if (process.env.NODE_ENV !== "test") require("server-only"); import { headers } from "next/headers"; import { createRequestId } from "@/lib/server/errors"; function parseForwardedIp(value: string | null): string | null { if (!value) return null; const first = value.split(",")[0]?.trim(); if (!first) return null; return first.slice(0, 64); } export async function getRequestMeta() { const headerStore = await headers(); const forwardedRequestId = headerStore.get("x-request-id")?.trim(); const requestId = forwardedRequestId || createRequestId(); const ip = parseForwardedIp(headerStore.get("x-forwarded-for")) || parseForwardedIp(headerStore.get("x-real-ip")); return { requestId, ip, userAgent: headerStore.get("user-agent") }; }