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)
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 _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)
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)
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)