func()

in oss/client_presign.go [93:138]


func (c *Client) marshalPresignInput(request any, input *OperationInput) error {
	switch t := request.(type) {
	case *GetObjectRequest:
		input.OpName = "GetObject"
		input.Method = "GET"
		input.Bucket = t.Bucket
		input.Key = t.Key
	case *PutObjectRequest:
		input.OpName = "PutObject"
		input.Method = "PUT"
		input.Bucket = t.Bucket
		input.Key = t.Key
	case *HeadObjectRequest:
		input.OpName = "HeadObject"
		input.Method = "HEAD"
		input.Bucket = t.Bucket
		input.Key = t.Key
	case *InitiateMultipartUploadRequest:
		input.OpName = "InitiateMultipartUpload"
		input.Method = "POST"
		input.Bucket = t.Bucket
		input.Key = t.Key
		input.Parameters = map[string]string{
			"uploads": "",
		}
	case *UploadPartRequest:
		input.OpName = "UploadPart"
		input.Method = "PUT"
		input.Bucket = t.Bucket
		input.Key = t.Key
	case *CompleteMultipartUploadRequest:
		input.OpName = "CompleteMultipartUpload"
		input.Method = "POST"
		input.Bucket = t.Bucket
		input.Key = t.Key
	case *AbortMultipartUploadRequest:
		input.OpName = "AbortMultipartUpload"
		input.Method = "DELETE"
		input.Bucket = t.Bucket
		input.Key = t.Key
	default:
		return NewErrParamInvalid(fmt.Sprintf("request %v", reflect.ValueOf(request).Type().String()))
	}

	return c.marshalInput(request, input)
}