in source/aws-connect-vm-serverless/src/lib/custom-resource-util.js [29:78]
export function sendCloudFormationResponse(event, context, responseStatus, physicalResourceId, responseData = {}, noEcho = false) {
return new Promise((resolve, reject) => {
let reason = "";
if (responseStatus === 'FAILED') {
reason = `See details in CloudWatch Stream ${context.logStreamName}`;
}
let responseBody = JSON.stringify({
Status: responseStatus,
Reason: reason,
PhysicalResourceId: physicalResourceId || context.logStreamName,
StackId: event.StackId,
RequestId: event.RequestId,
LogicalResourceId: event.LogicalResourceId,
NoEcho: noEcho,
Data: responseData
});
let https = require('https');
let url = require('url');
let parsedUrl = url.parse(event.ResponseURL);
let options = {
hostname: parsedUrl.hostname,
port: 443,
path: parsedUrl.path,
method: "PUT",
headers: {
"content-type": "",
"content-length": responseBody.length
}
};
let request = https.request(options, (response) => {
resolve({
statusCode: response.statusCode,
statusMessage: response.statusMessage
});
});
request.on("error", (error) => {
console.log(JSON.stringify(error, null, 2));
reject("send(..) failed executing https.request(..): " + error);
});
request.write(responseBody);
request.end();
});
}