"""Utility for handling response objects from microservice requests.""" def safe_decode_json(response, service_name): """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 decoding response in {}'.format( service_name ) ) response_json = { 'message': error_message, 'status': response.status_code, 'code': 'Error', } return response_json