title: CloudFormation Custom Resource not finishing deleting
body: <p>I have setup my custom resource to return immediately on deletes</p>
  
  <pre><code>const aws = require('aws-sdk')
  const util = require('util')
  
  exports.handler = (event, context) =&gt; {
    console.log('Event&gt;&gt;&gt;')
    console.log(JSON.stringify(event))
    aws.config.update({ region: event.ResourceProperties.Region })
  
    if (event.RequestType === 'Delete') return ApiMethodCustom.sendResponse(event, context, 'SUCCESS') // HERE!
  
    ApiMethodCustom.setupIntegration(event, context)
  }
  
    static async sendResponse(event, context, responseStatus, responseData = {}) {
      var 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);
  
      var https = require("https");
      var url = require("url");
  
      var parsedUrl = url.parse(event.ResponseURL);
      var options = {
        hostname: parsedUrl.hostname,
        port: 443,
        path: parsedUrl.path,
        method: "PUT",
        headers: {
          "content-type": "",
          "content-length": responseBody.length
        }
      };
  
      console.log("SENDING RESPONSE...\n");
  
      var 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
        context.done();
      });
  
      request.on("error", function (error) {
        console.log("sendResponse Error:" + error);
        // Tell AWS Lambda that the function execution is done
        context.done();
      });
  
      // write data to request body
      request.write(responseBody);
      request.end();
    }
  </code></pre>
  
  <p>But it appears that CloudFormation is stuck in <code>DELETE_IN_PROGRESS</code>. Why is that? </p>
  
  <p>In my logs, it seems like Lambda finished execution correctly: </p>
  
  <pre><code>2018-09-09T01:52:06.913Z    f48808d0-b3d2-11e8-9e84-5b218cad3090
  {
      "RequestType": "Delete",
      "ServiceToken": "arn:aws:lambda:ap-southeast-1:621567429603:function:income2-base-ApiVpcIntegration",
      "ResponseURL": "https://cloudformation-custom-resource-response-apsoutheast1.s3-ap-southeast-1.amazonaws.com/arn%3Aaws%3Acloudformation%3Aap-southeast-1%3A621567429603%3Astack/test/5a34d100-b370-11e8-b89d-503a138dba36%7CApiTestIntegration%7C979b1814-d94c-4a49-b9f7-2fa352ab88f5?AWSAccessKeyId=AKIAIKQZQ3QDXOJPHOPA&amp;Expires=1536465125&amp;Signature=O2O0entoTXHCYp5jbJehghtE9Ck%3D",
      "StackId": "arn:aws:cloudformation:ap-southeast-1:621567429603:stack/test/5a34d100-b370-11e8-b89d-503a138dba36",
      "RequestId": "979b1814-d94c-4a49-b9f7-2fa352ab88f5",
      "LogicalResourceId": "ApiTestIntegration",
      "PhysicalResourceId": "2018/09/08/[$LATEST]b8a3df0fca884fe3b8abdde3ab525ac0",
      "ResourceType": "Custom::ApiVpcIntegration",
      "ResourceProperties": {
          "ServiceToken": "arn:aws:lambda:ap-southeast-1:621567429603:function:income2-base-ApiVpcIntegration",
          "ConnectionId": "24lbti",
          "ResourceId": "x1gjyy",
          "RestApiId": "aaj0q4dbml",
          "Uri": "http://dropletapi-dev.2359media.net:3001/authentication",
          "HttpMethod": "GET"
      }
  }
  
  2018-09-09T01:52:06.914Z    f48808d0-b3d2-11e8-9e84-5b218cad3090    RESPONSE BODY:
  {
      "Status": "SUCCESS",
      "Reason": "See the details in CloudWatch Log Stream: 2018/09/09/[$LATEST]29276598cb9c49c1b1da3672c8707c78",
      "PhysicalResourceId": "2018/09/09/[$LATEST]29276598cb9c49c1b1da3672c8707c78",
      "StackId": "arn:aws:cloudformation:ap-southeast-1:621567429603:stack/test/5a34d100-b370-11e8-b89d-503a138dba36",
      "RequestId": "979b1814-d94c-4a49-b9f7-2fa352ab88f5",
      "LogicalResourceId": "ApiTestIntegration",
      "Data": {}
  }
  </code></pre>