@beignet/core
Version:
Core framework primitives for Beignet
27 lines • 999 B
JavaScript
export function requireTrustedProxyHeaderName(name, optionName) {
const header = name.trim();
if (!header) {
throw new Error(`${optionName} must be a non-empty header name.`);
}
try {
new Headers().get(header);
}
catch {
throw new Error(`${optionName} must be a valid HTTP header name.`);
}
return header;
}
export function assertValidTrustedProxyConfig(config) {
if (!config)
return;
if (config.hostHeader !== undefined && config.hostHeader !== false) {
requireTrustedProxyHeaderName(config.hostHeader, "trustedProxy.hostHeader");
}
if (config.protocolHeader !== undefined && config.protocolHeader !== false) {
requireTrustedProxyHeaderName(config.protocolHeader, "trustedProxy.protocolHeader");
}
if (typeof config.clientIp === "object") {
requireTrustedProxyHeaderName(config.clientIp.header, "trustedProxy.clientIp.header");
}
}
//# sourceMappingURL=trusted-proxy-internal.js.map