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") ??