INNER CODE UNIT · TypeScript

readBoolEnv

Ammaar-Alam/minebench · middleware.ts:50

function readBoolEnv(name: string, fallback: boolean) {
  const raw = process.env[name];
  if (!raw) return fallback;
  const normalized = raw.trim().toLowerCase();
  if (["1", "true", "yes", "on"].includes(normalized)) return true;
  if (["0", "false", "no", "off"].includes(normalized)) return false;
  return fallback;
}

function getIp(req: NextRequest): IpInfo {
  const requestIp = (req as NextRequest & { ip?: string | null }).ip?.trim();
  if (requestIp) return { value: requestIp, trusted: true };

  const trustForwardedRaw = process.env.ARENA_TRUST_X_FORWARDED_FOR;
  const trustForwardedFor = readBoolEnv("ARENA_TRUST_X_FORWARDED_FOR", process.env.VERCEL === "1");
  if (trustForwardedFor) {
    const direct =
      req.headers.get("x-real-ip") ??

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…