in Sources/OSS/ClientObjectMultipart.swift [9:44]
func initiateMultipartUpload(
_ request: InitiateMultipartUploadRequest,
_ options: OperationOptions? = nil
) async throws -> InitiateMultipartUploadResult {
var input = OperationInput(
operationName: "InitiateMultipartUpload",
method: "POST",
parameters: [
"uploads": "",
]
)
input.bucket = try request.bucket.ensureRequired(field: "request.bucket")
input.key = try request.key.ensureRequired(field: "request.key")
var req = request
var customDeserializers: [SerdeSerializeDelegate] = [Serde.serializeInitiateMultipartUpload, Serde.addContentMd5]
if clientImpl.hasFeatureFlag(FeatureFlag.autoDetectMimeType) {
customDeserializers.append(Serde.addContentType)
} else {
// urlsession add Content-Type:application/x-www-form-urlencoded default
if req.contentType == nil {
req.contentType = "application/octet-stream"
}
}
try Serde.serializeInput(&req, &input, customDeserializers)
var output = try await clientImpl.execute(with: &input, args: options)
var result = InitiateMultipartUploadResult()
try Serde.deserializeOutput(&result, &output, [Serde.deserializeInitiateMultipartUpload])
return result
}