in Sources/OSS/ClientPresigner.swift [179:204]
func presign(
_ request: CompleteMultipartUploadRequest,
_ expiration: Foundation.Date? = nil
) async throws -> PresignResult {
var input = OperationInput(
operationName: "CompleteMultipartUpload",
method: "POST"
)
input.bucket = try request.bucket.ensureRequired(field: "request.bucket")
input.key = try request.key.ensureRequired(field: "request.key")
if let expiration = expiration {
input.metadata.set(key: AttributeKeys.expirationTime, value: expiration)
}
var req = request
try Serde.serializeInput(&req, &input, [Serde.serializeCompleteMultipartUpload])
let output = try await clientImpl.presignInner(with: &input)
return PresignResult(
method: output.method ?? "",
url: output.url ?? "",
expiration: output.expiration,
signedHeaders: output.signedHeaders
)
}