def sendResponse()

in S3Objects/lambda/resource.py [0:0]


def sendResponse(event, context, status, message):
    bucket = event["ResourceProperties"].get("Target", {}).get("Bucket")
    key = event["ResourceProperties"].get("Target", {}).get("Key")

    body = json.dumps(
        {
            "Status": status,
            "Reason": message,
            "StackId": event["StackId"],
            "RequestId": event["RequestId"],
            "LogicalResourceId": event["LogicalResourceId"],
            "PhysicalResourceId": f"s3://{bucket}/{key}",
            "Data": {
                "Bucket": bucket,
                "Key": key,
            },
        }
    )

    request = Request(event["ResponseURL"], data=body.encode("utf-8"))
    request.add_header("Content-Type", "")
    request.add_header("Content-Length", len(body))
    request.get_method = lambda: "PUT"

    opener = build_opener(HTTPHandler)
    response = opener.open(request)