From 2a2b0c3b573595cb6b336f99fc2967cc23e6455d Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Mon, 15 Aug 2022 17:58:09 +0200 Subject: [PATCH] preliminary update client for new server download url stuff --- MareAPI | 2 +- MareSynchronos/MareSynchronos.csproj | 2 +- MareSynchronos/WebAPI/ApIController.Functions.Files.cs | 9 +++------ MareSynchronos/WebAPI/Utils/FileTransfer.cs | 3 ++- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/MareAPI b/MareAPI index 1ee1304..21fe024 160000 --- a/MareAPI +++ b/MareAPI @@ -1 +1 @@ -Subproject commit 1ee130413f75da38618f968f4ac813c3205d2adb +Subproject commit 21fe024dfb8cecad466dfc8ceef15040300ad342 diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 9068840..1fe4706 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.3.3 + 0.3.4 https://github.com/Penumbra-Sync/client diff --git a/MareSynchronos/WebAPI/ApIController.Functions.Files.cs b/MareSynchronos/WebAPI/ApIController.Functions.Files.cs index a52459d..2d7809f 100644 --- a/MareSynchronos/WebAPI/ApIController.Functions.Files.cs +++ b/MareSynchronos/WebAPI/ApIController.Functions.Files.cs @@ -38,7 +38,7 @@ namespace MareSynchronos.WebAPI await _mareHub!.SendAsync(Api.SendFileDeleteAllFiles); } - private async Task DownloadFile(int downloadId, string hash, CancellationToken ct) + private async Task DownloadFile(int downloadId, string hash, Uri downloadUri, CancellationToken ct) { using WebClient wc = new(); wc.Headers.Add("Authorization", SecretKey); @@ -58,11 +58,8 @@ namespace MareSynchronos.WebAPI wc.DownloadProgressChanged += progChanged; string fileName = Path.GetTempFileName(); - var baseUri = new Uri(Regex.Replace(ApiUri, "^ws", "http"), UriKind.Absolute); - var relativeUri = new Uri("cache/" + hash, UriKind.Relative); - var fileUri = new Uri(baseUri, relativeUri); - await wc.DownloadFileTaskAsync(fileUri, fileName); + await wc.DownloadFileTaskAsync(downloadUri, fileName); CurrentDownloads[downloadId].Single(f => f.Hash == hash).Transferred = CurrentDownloads[downloadId].Single(f => f.Hash == hash).Total; @@ -96,7 +93,7 @@ namespace MareSynchronos.WebAPI foreach (var file in CurrentDownloads[currentDownloadId].Where(f => f.CanBeTransferred)) { var hash = file.Hash; - var tempFile = await DownloadFile(currentDownloadId, hash, ct); + var tempFile = await DownloadFile(currentDownloadId, file.Hash, file.DownloadUri, ct); if (ct.IsCancellationRequested) { File.Delete(tempFile); diff --git a/MareSynchronos/WebAPI/Utils/FileTransfer.cs b/MareSynchronos/WebAPI/Utils/FileTransfer.cs index 9013164..690a7bc 100644 --- a/MareSynchronos/WebAPI/Utils/FileTransfer.cs +++ b/MareSynchronos/WebAPI/Utils/FileTransfer.cs @@ -1,4 +1,5 @@ using MareSynchronos.API; +using System; namespace MareSynchronos.WebAPI.Utils; @@ -37,7 +38,7 @@ public class DownloadFileTransfer : FileTransfer { private DownloadFileDto Dto => (DownloadFileDto)TransferDto; public DownloadFileTransfer(DownloadFileDto dto) : base(dto) { } - + public Uri DownloadUri => new(Dto.Url); public override long Total { set { }