cdk-nextjs
Version:
Deploy Next.js apps on AWS with CDK
35 lines • 4.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CfnResponseStatus = void 0;
exports.cfnResponse = cfnResponse;
exports.debug = debug;
var CfnResponseStatus;
(function (CfnResponseStatus) {
CfnResponseStatus["Success"] = "SUCCESS";
CfnResponseStatus["Failed"] = "FAILED";
})(CfnResponseStatus || (exports.CfnResponseStatus = CfnResponseStatus = {}));
/**
* Inspired by: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html
*/
function cfnResponse(props) {
const body = JSON.stringify({
Status: props.responseStatus,
Reason: "See the details in CloudWatch Log Stream: " +
props.context.logStreamName,
PhysicalResourceId: props.physicalResourceId || props.context.logStreamName,
StackId: props.event.StackId,
RequestId: props.event.RequestId,
LogicalResourceId: props.event.LogicalResourceId,
Data: props.responseData,
});
return fetch(props.event.ResponseURL, {
method: "PUT",
body,
headers: { "content-type": "", "content-length": body.length.toString() },
});
}
function debug(value) {
if (process.env.DEBUG)
console.log(JSON.stringify(value, null, 2));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGFtYmRhcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrQkEsa0NBaUJDO0FBRUQsc0JBRUM7QUFyQ0QsSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLHdDQUFtQixDQUFBO0lBQ25CLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQUc1QjtBQVVEOztHQUVHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEtBQXVCO0lBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjO1FBQzVCLE1BQU0sRUFDSiw0Q0FBNEM7WUFDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBQzdCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWE7UUFDM0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTztRQUM1QixTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTO1FBQ2hDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1FBQ2hELElBQUksRUFBRSxLQUFLLENBQUMsWUFBWTtLQUN6QixDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtRQUNwQyxNQUFNLEVBQUUsS0FBSztRQUNiLElBQUk7UUFDSixPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7S0FDMUUsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQWdCLEtBQUssQ0FBQyxLQUFjO0lBQ2xDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLO1FBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlSGFuZGxlciB9IGZyb20gXCJhd3MtbGFtYmRhXCI7XG5cbmV4cG9ydCBlbnVtIENmblJlc3BvbnNlU3RhdHVzIHtcbiAgU3VjY2VzcyA9IFwiU1VDQ0VTU1wiLFxuICBGYWlsZWQgPSBcIkZBSUxFRFwiLFxufVxuXG5pbnRlcmZhY2UgQ2ZuUmVzcG9uc2VQcm9wcyB7XG4gIGV2ZW50OiBQYXJhbWV0ZXJzPENsb3VkRm9ybWF0aW9uQ3VzdG9tUmVzb3VyY2VIYW5kbGVyPlswXTtcbiAgY29udGV4dDogUGFyYW1ldGVyczxDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlSGFuZGxlcj5bMV07XG4gIHJlc3BvbnNlU3RhdHVzOiBDZm5SZXNwb25zZVN0YXR1cztcbiAgcmVzcG9uc2VEYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcGh5c2ljYWxSZXNvdXJjZUlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEluc3BpcmVkIGJ5OiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9jZm4tbGFtYmRhLWZ1bmN0aW9uLWNvZGUtY2ZucmVzcG9uc2Vtb2R1bGUuaHRtbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2ZuUmVzcG9uc2UocHJvcHM6IENmblJlc3BvbnNlUHJvcHMpIHtcbiAgY29uc3QgYm9keSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBTdGF0dXM6IHByb3BzLnJlc3BvbnNlU3RhdHVzLFxuICAgIFJlYXNvbjpcbiAgICAgIFwiU2VlIHRoZSBkZXRhaWxzIGluIENsb3VkV2F0Y2ggTG9nIFN0cmVhbTogXCIgK1xuICAgICAgcHJvcHMuY29udGV4dC5sb2dTdHJlYW1OYW1lLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogcHJvcHMucGh5c2ljYWxSZXNvdXJjZUlkIHx8IHByb3BzLmNvbnRleHQubG9nU3RyZWFtTmFtZSxcbiAgICBTdGFja0lkOiBwcm9wcy5ldmVudC5TdGFja0lkLFxuICAgIFJlcXVlc3RJZDogcHJvcHMuZXZlbnQuUmVxdWVzdElkLFxuICAgIExvZ2ljYWxSZXNvdXJjZUlkOiBwcm9wcy5ldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCxcbiAgICBEYXRhOiBwcm9wcy5yZXNwb25zZURhdGEsXG4gIH0pO1xuICByZXR1cm4gZmV0Y2gocHJvcHMuZXZlbnQuUmVzcG9uc2VVUkwsIHtcbiAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgYm9keSxcbiAgICBoZWFkZXJzOiB7IFwiY29udGVudC10eXBlXCI6IFwiXCIsIFwiY29udGVudC1sZW5ndGhcIjogYm9keS5sZW5ndGgudG9TdHJpbmcoKSB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlYnVnKHZhbHVlOiB1bmtub3duKSB7XG4gIGlmIChwcm9jZXNzLmVudi5ERUJVRykgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpKTtcbn1cbiJdfQ==