unleash-client
Version:
Unleash Client for Node
34 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractEnvironmentFromCustomHeaders = void 0;
const findAuthorizationHeaderKey = (customHeaders) => {
const headerKeys = Object.keys(customHeaders);
return headerKeys.find((key) => key.toLowerCase() === 'authorization');
};
const extractAuthorizationHeader = (customHeaders) => {
if (!customHeaders) {
return undefined;
}
const authHeaderKey = findAuthorizationHeaderKey(customHeaders);
if (!authHeaderKey) {
return undefined;
}
return customHeaders[authHeaderKey];
};
const extractEnvironmentFromHeader = (authorizationHeader) => {
if (!authorizationHeader) {
return undefined;
}
const parts = authorizationHeader.split(':');
if (parts.length >= 2 && parts[1]) {
const envParts = parts[1].split('.');
return envParts[0] || undefined;
}
return undefined;
};
const extractEnvironmentFromCustomHeaders = (customHeaders) => {
const authorizationHeader = extractAuthorizationHeader(customHeaders);
return extractEnvironmentFromHeader(authorizationHeader);
};
exports.extractEnvironmentFromCustomHeaders = extractEnvironmentFromCustomHeaders;
//# sourceMappingURL=environment-resolver.js.map