"""Utility for handling response objects from microservice requests.""" def safe_decode_json(response, service): """Decode json response or return error response if no json is present. Args: response: http response object Returns: response_json (dict): parsed json response or error response """ try: response_json = response.json() except ValueError: error_message = 'An error was encountered connecting to {}'.format( service) response_json = { 'message': error_message, 'status': response.status_code, 'code': 'Internal Error'} return response_json