Files
agentic-studio/network-poc/frontend/node_modules/@astrojs/internal-helpers/dist/request.js
Jaakko Vanhala a8c4af0975 Frontend uudelleenrakennettu: Astro-komponentit, Wasm pääsäikeessä, ei Workeria
Vanha frontend siirretty temp/. Uusi rakenne:
- StatusBar.astro, Terminal.astro, Editor.astro, Guide.astro
- global.css erillinen
- Wasm pääsäikeessä (ei Worker — yksinkertainen, debugattava)
- Tab-completion, dropdown, projektikortti, Monaco, GUIDE.md
- Ei tokenisointia eikä koodilaboratoriota

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:17:39 +03:00

24 lines
635 B
JavaScript

function getFirstForwardedValue(multiValueHeader) {
return multiValueHeader?.toString()?.split(",").map((e) => e.trim())?.[0];
}
const IP_RE = /^[0-9a-fA-F.:]{1,45}$/;
function isValidIpAddress(value) {
return IP_RE.test(value);
}
function getValidatedIpFromHeader(headerValue) {
const raw = getFirstForwardedValue(headerValue);
if (raw && isValidIpAddress(raw)) {
return raw;
}
return void 0;
}
function getClientIpAddress(request) {
return getValidatedIpFromHeader(request.headers.get("x-forwarded-for"));
}
export {
getClientIpAddress,
getFirstForwardedValue,
getValidatedIpFromHeader,
isValidIpAddress
};