func getObjectToFile()

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
    }