def deserialize_output()

in alibabacloud_oss_v2/serde.py [0:0]


def deserialize_output(result: Model, op_output: OperationOutput,
                       custom_deserializer: Optional[List[Any]] = None) -> Model:
    """deserialize output
    """
    if not isinstance(result, ResultModel):
        raise exceptions.DeserializationError(
            error=f'result<{result.__class__}> is not subclass of serde.ResultModel')

    result.status = op_output.status or ''
    result.status_code = op_output.status_code or 0
    result.headers = op_output.headers or CaseInsensitiveDict()
    result.request_id = result.headers.get('x-oss-request-id', '')

    # custom deserializer
    custom_deserializer = custom_deserializer or []
    for deserializer in custom_deserializer:
        deserializer(result, op_output)

    return result