def parse_http_response(http_response: HttpResponse) -> 'environ.Response':
    """
    Returns a Cauldron response object parsed from the serialized JSON data
    specified in the http_response argument. If the response doesn't contain
    valid Cauldron response data, an error Cauldron response object is
    returned instead.

    :param http_response:
        The response object from an http request that contains a JSON
        serialized Cauldron response object as its body
    :return:
        The Cauldron response object for the given http response
    """
    try:
        response = environ.Response.deserialize(http_response.json())
    except Exception as error:
        response = environ.Response().fail(
            code='INVALID_REMOTE_RESPONSE',
            error=error,
            message='Invalid HTTP response from remote connection'
        ).console(
            whitespace=1
        ).response

    response.http_response = http_response
    return response
def parse_http_response ( http_response : HttpResponse ) -> 'environ.Response' : try : response = environ . Response . deserialize ( http_response . json ( ) ) except Exception as error : response = environ . Response ( ) . fail ( code = 'INVALID_REMOTE_RESPONSE' , error = error , message = 'Invalid HTTP response from remote connection' ) . console ( whitespace = 1 ) . response response . http_response = http_response return response
Returns a Cauldron response object parsed from the serialized JSON data
    specified in the http_response argument. If the response doesn't contain
    valid Cauldron response data, an error Cauldron response object is
    returned instead.

    :param http_response:
        The response object from an http request that contains a JSON
        serialized Cauldron response object as its body
    :return:
        The Cauldron response object for the given http response