From ff1ce422d2c59f59335907cebec67ebc9bce6969 Mon Sep 17 00:00:00 2001 From: Alberto De Bortoli Date: Sat, 17 Jan 2026 21:58:45 +0100 Subject: [PATCH] Fix download of .tar.gz files --- Sources/LucaCore/Core/Downloader/Downloader.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Sources/LucaCore/Core/Downloader/Downloader.swift b/Sources/LucaCore/Core/Downloader/Downloader.swift index 53184d9..b178649 100644 --- a/Sources/LucaCore/Core/Downloader/Downloader.swift +++ b/Sources/LucaCore/Core/Downloader/Downloader.swift @@ -16,8 +16,8 @@ struct Downloader: Downloading { } enum SupportedFileTypes: String, CaseIterable { - case zip - case unknown = "" + case zip = "zip" + case targz = "tar.gz" } private var fileDownloader: FileDownloading @@ -27,9 +27,14 @@ struct Downloader: Downloading { } func downloadRelease(at url: URL) async throws -> URL { - guard SupportedFileTypes(rawValue: url.pathExtension) != nil else { - throw DownloaderError.unsupportedFileType(url) + if SupportedFileTypes.allCases.contains(where: { + url.lastPathComponent.hasSuffix($0.rawValue) + }) == false { + if url.pathExtension != "" { + throw DownloaderError.unsupportedFileType(url) + } } + let (tempDownloadURL, _) = try await fileDownloader.download(from: url) return tempDownloadURL }