Esempio n. 1
0
def send_response(request_msg, data=None, error=None):
    """
    Send response message to S3 url
    :param request:
    :param data:
    :param error:
    :return:
    """
    response = ResponseMessage(request_msg)
    if data:
        response.data = data

    if error:
        response.error = error
    try:
        # PUT the response file to the S3 pre-signed URL
        requests.put(url=request_msg.response_url,
                     data=response.to_json(),
                     headers={"Content-Type": ""},
                     verify=True
                    ).raise_for_status()
        log.debug((response.to_json()))
        log.info("Successfully send response %s for RequestID:%s"% (request_msg.response_url, request_msg.request_id))
    except Exception, e:
        print("Got Error! - %s"% e.message)
        log.exception("Failed sending response %s for RequestID:%s"% (request_msg.response_url, request_msg.request_id))
        log.exception("Error: %s"% e.message)
        raise AWSError("Unable to send response!")
 def test_to_json_LogicalResourceId_same_as_request(self):
     resp = ResponseMessage(self.request)
     resp_json = resp.to_json()
     resp_dict = json.loads(resp_json)
     assert resp_dict['LogicalResourceId'] == self.request.logical_resource_id
 def test_to_json_RequestId_same_as_request(self):
     resp = ResponseMessage(self.request)
     resp_json = resp.to_json()
     resp_dict = json.loads(resp_json)
     assert resp_dict['RequestId'] == self.request.request_id
 def test_status_is_FAILED_if_error(self):
     resp = ResponseMessage(self.request)
     resp.error = True
     assert resp.status == "FAILED"
 def test_to_dict_LogicalResourceId_same_as_request(self):
     resp = ResponseMessage(self.request)
     resp_dict = resp.to_dict()
     assert resp_dict['LogicalResourceId'] == self.request.logical_resource_id
 def test_to_dict_RequestId_same_as_request(self):
     resp = ResponseMessage(self.request)
     resp_dict = resp.to_dict()
     assert resp_dict['RequestId'] == self.request.request_id
 def test_to_dict_StackId_same_as_request(self):
     resp = ResponseMessage(self.request)
     resp_dict = resp.to_dict()
     assert resp_dict['StackId'] == self.request.stack_id
 def test_to_dict_has_key_PhysicalResourceId(self):
     resp = ResponseMessage(self.request)
     resp_dict = resp.to_dict()
     assert 'PhysicalResourceId' in resp_dict.keys()
 def test_to_dict_has_key_RequestId(self):
     resp = ResponseMessage(self.request)
     resp_dict = resp.to_dict()
     assert 'RequestId' in resp_dict.keys()
 def test_to_dict_has_key_Status(self):
     resp = ResponseMessage(self.request)
     resp_dict = resp.to_dict()
     assert 'Status' in resp_dict.keys()