in Sources/OSS/ClientExtensions.swift [10:36]
func getObjectToFile(
_ request: GetObjectRequest,
_ file: URL,
_ options: OperationOptions? = nil
) async throws -> GetObjectResult {
var options = options ?? OperationOptions()
options.saveToURL = true
var result = try await getObject(request, options)
// Remove any existing file
if FileManager.default.fileExists(atPath: file.path) {
try FileManager.default.removeItem(at: file)
}
switch result.body {
case let .file(tempURL):
try FileManager.default.moveItem(
at: tempURL,
to: file
)
result.body = .file(file)
default:
throw ClientError.paramInvalidError(field: "result.body")
}
return result
}