Beispiel #1
0
 def _fail(failure, request):
     failure = unwrap_first_error(failure)
     code = 500
     if failure.type in mapping:
         code = mapping[failure.type]
         errorObj = {
             'type': failure.type.__name__,
             'code': code,
             'message': failure.value.message,
             'details': getattr(failure.value, 'details', '')
         }
         self.log.bind(
             uri=request.uri,
             **errorObj
         ).msg(failure.value.message)
     else:
         errorObj = {
             'type': 'InternalError',
             'code': code,
             'message': 'An Internal Error was encountered',
             'details': ''
         }
         self.log.bind(
             uri=request.uri,
             code=code
         ).err(failure, 'Unhandled Error handling request')
     request.setResponseCode(code)
     return json.dumps(errorObj)
Beispiel #2
0
 def _fail(failure, request):
     failure = unwrap_first_error(failure)
     code = 500
     if failure.type in mapping:
         code = mapping[failure.type]
         errorObj = {
             'type': failure.type.__name__,
             'code': code,
             'message': failure.value.message,
             'details': getattr(failure.value, 'details', '')
         }
         # format here, because the logger does something special
         # with the 'message' key
         self.log.msg(
             "Request failed: {message}".format(message=errorObj['message']),
             uri=request.uri, request_status="failed", **errorObj)
     else:
         errorObj = {
             'type': 'InternalError',
             'code': code,
             'message': 'An Internal Error was encountered',
             'details': ''
         }
         self.log.err(failure, 'Request failed: Unhandled Error',
                      uri=request.uri, code=code,
                      request_status="failed")
     request.setResponseCode(code)
     return json.dumps({'error': errorObj})
Beispiel #3
0
 def _fail(failure, request):
     failure = unwrap_first_error(failure)
     code = 500
     if failure.type in mapping:
         code = mapping[failure.type]
         errorObj = {
             'type': failure.type.__name__,
             'code': code,
             'message': failure.value.message,
             'details': getattr(failure.value, 'details', '')
         }
         # format here, because the logger does something special
         # with the 'message' key
         self.log.msg("Request failed: {message}".format(
             message=errorObj['message']),
                      uri=request.uri,
                      request_status="failed",
                      **errorObj)
     else:
         errorObj = {
             'type': 'InternalError',
             'code': code,
             'message': 'An Internal Error was encountered',
             'details': ''
         }
         self.log.err(failure,
                      'Request failed: Unhandled Error',
                      uri=request.uri,
                      code=code,
                      request_status="failed")
     request.setResponseCode(code)
     return json.dumps({'error': errorObj})
    def test_delete_server_propagates_loadbalancer_failures(
            self, remove_from_load_balancer):
        """
        delete_server propagates any errors from removing server from load
        balancers
        """
        remove_from_load_balancer.return_value = fail(
            APIError(500, '')).addErrback(wrap_request_error, 'url')

        d = delete_server(self.log, 'DFW', fake_service_catalog,
                          'my-auth-token', instance_details)
        failure = unwrap_first_error(self.failureResultOf(d))

        self.assertEqual(failure.value.reason.value.code, 500)
Beispiel #5
0
    def test_delete_server_propagates_loadbalancer_failures(
            self, remove_from_load_balancer):
        """
        delete_server propagates any errors from removing server from load
        balancers
        """
        remove_from_load_balancer.return_value = fail(APIError(
            500, '')).addErrback(wrap_request_error, 'url')

        d = delete_server(self.log, 'DFW', fake_service_catalog,
                          'my-auth-token', instance_details)
        failure = unwrap_first_error(self.failureResultOf(d))

        self.assertEqual(failure.value.reason.value.code, 500)
Beispiel #6
0
 def _fail(failure, request):
     failure = unwrap_first_error(failure)
     code = 500
     if failure.type in mapping:
         code = mapping[failure.type]
         errorObj = {
             'type': failure.type.__name__,
             'code': code,
             'message': failure.value.message,
             'details': getattr(failure.value, 'details', '')
         }
         bound_log.bind(uri=request.uri,
                        **errorObj).msg(failure.value.message)
     else:
         errorObj = {
             'type': 'InternalError',
             'code': code,
             'message': 'An Internal Error was encountered',
             'details': ''
         }
         bound_log.bind(uri=request.uri, code=code).err(
             failure, 'Unhandled Error handling request')
     request.setResponseCode(code)
     return json.dumps(errorObj)