serverless-offline-edge-lambda
Version:
A plugin for the Serverless Framework that simulates the behavior of AWS CloudFront Edge Lambdas while developing offline.
29 lines • 1.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertToCloudFrontEvent = void 0;
const fs_1 = __importDefault(require("fs"));
const url_1 = require("url");
const convert_headers_1 = require("./convert-headers");
function readInjectedHeadersFile(injectedHeadersFile) {
const headers = fs_1.default.readFileSync(injectedHeadersFile, 'utf8');
return JSON.parse(headers);
}
function convertToCloudFrontEvent(req, config, injectedHeadersFile) {
const url = (0, url_1.parse)(req.url, false);
const injectedHeaders = injectedHeadersFile ? readInjectedHeadersFile(injectedHeadersFile) : {};
const request = {
clientIp: req.socket.remoteAddress,
method: req.method,
headers: (0, convert_headers_1.toCloudFrontHeaders)(Object.assign(Object.assign({}, req.headers), injectedHeaders)),
uri: url.pathname,
querystring: url.query || '',
body: req.body,
cookies: req.cookies
};
return { Records: [{ cf: { config, request } }] };
}
exports.convertToCloudFrontEvent = convertToCloudFrontEvent;
//# sourceMappingURL=convert-to-cf-event.js.map