def _serialize_input()

in alibabacloud_oss_v2/presigner.py [0:0]


def _serialize_input(request: PresignRequest) -> OperationInput:
    op_input = OperationInput(op_name="", method="")
    if isinstance(request, models.GetObjectRequest):
        op_input.op_name = "GetObject"
        op_input.method = "GET"
        op_input.bucket = request.bucket
        op_input.key = request.key

    elif isinstance(request, models.PutObjectRequest):
        op_input.op_name = "PutObject"
        op_input.method = "PUT"
        op_input.bucket = request.bucket
        op_input.key = request.key

    elif isinstance(request, models.HeadObjectRequest):
        op_input.op_name = "HeadObject"
        op_input.method = "HEAD"
        op_input.bucket = request.bucket
        op_input.key = request.key

    elif isinstance(request, models.InitiateMultipartUploadRequest):
        op_input.op_name = "InitiateMultipartUpload"
        op_input.method = "POST"
        op_input.bucket = request.bucket
        op_input.key = request.key
        op_input.parameters = {"uploads": ""}

    elif isinstance(request, models.UploadPartRequest):
        op_input.op_name = "UploadPart"
        op_input.method = "PUT"
        op_input.bucket = request.bucket
        op_input.key = request.key

    elif isinstance(request, models.CompleteMultipartUploadRequest):
        op_input.op_name = "CompleteMultipartUpload"
        op_input.method = "POST"
        op_input.bucket = request.bucket
        op_input.key = request.key

    elif isinstance(request, models.AbortMultipartUploadRequest):
        op_input.op_name = "AbortMultipartUpload"
        op_input.method = "DELETE"
        op_input.bucket = request.bucket
        op_input.key = request.key

    else:
        raise exceptions.ParamInvalidError(field='request')

    return serde.serialize_input(request, op_input)