UNPKG

@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
"use strict"; 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;