function sendResponse()

in 1-app-deploy/ride-controller/initDB/app.js [36:86]


function sendResponse (event, context, responseStatus, responseData) {
  return new Promise((resolve, reject) => {

    console.log('Sending response ' + responseStatus)
    const responseBody = JSON.stringify({
      Status: responseStatus,
      Reason: 'See the details in CloudWatch Log Stream: ' + context.logStreamName,
      PhysicalResourceId: context.logStreamName,
      StackId: event.StackId,
      RequestId: event.RequestId,
      LogicalResourceId: event.LogicalResourceId,
      Data: responseData
    })

    console.log('RESPONSE BODY:\n', responseBody)

    const https = require('https')
    const url = require('url')

    const parsedUrl = url.parse(event.ResponseURL)
    const options = {
      hostname: parsedUrl.hostname,
      port: 443,
      path: parsedUrl.path,
      method: 'PUT',
      headers: {
        'content-type': '',
        'content-length': responseBody.length
      }
    }

    console.log('SENDING RESPONSE...\n')

    const request = https.request(options, function (response) {
      console.log('STATUS: ' + response.statusCode)
      console.log('HEADERS: ' + JSON.stringify(response.headers))
      // Tell AWS Lambda that the function execution is done
      resolve()
    })

    request.on('error', function (error) {
      console.log('sendResponse Error:' + error)
      // Tell AWS Lambda that the function execution is done
      reject()
    })

    // write data to request body
    request.write(responseBody)
    request.end()
  })
}