@serverless-stack/nextjs-lambda
Version:
Provides handlers that can be used in CloudFront Lambda@Edge to deploy next.js applications to the edge
40 lines (39 loc) • 1.14 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeBlacklistedHeaders = exports.isBlacklistedHeader = void 0;
const blacklistedHeaders = [
"connection",
"expect",
"keep-alive",
"proxy-authenticate",
"proxy-authorization",
"proxy-connection",
"trailer",
"upgrade",
"x-accel-buffering",
"x-accel-charset",
"x-accel-limit-rate",
"x-accel-redirect",
"x-cache",
"x-forwarded-proto",
"x-real-ip"
];
const blacklistedHeaderPrefixes = ["x-amz-cf-", "x-amzn-", "x-edge-"];
function isBlacklistedHeader(name) {
const lowerCaseName = name.toLowerCase();
for (const prefix of blacklistedHeaderPrefixes) {
if (lowerCaseName.startsWith(prefix)) {
return true;
}
}
return blacklistedHeaders.includes(lowerCaseName);
}
exports.isBlacklistedHeader = isBlacklistedHeader;
function removeBlacklistedHeaders(headers) {
for (const header in headers) {
if (isBlacklistedHeader(header)) {
delete headers[header];
}
}
}
exports.removeBlacklistedHeaders = removeBlacklistedHeaders;
;