Implemented a fixed solution that would work with path having trailing slash or not

This commit is contained in:
Thomas Haid
2025-05-26 14:50:09 +02:00
committed by Caelan
parent cbfd38ee9b
commit f8c40be5bd

View File

@@ -158,7 +158,7 @@ namespace Velopack.Sources
const int page = 1; const int page = 1;
// https://docs.gitlab.com/ee/api/releases/ // https://docs.gitlab.com/ee/api/releases/
var releasesPath = $"releases?per_page={perPage}&page={page}"; var releasesPath = $"releases?per_page={perPage}&page={page}";
var getReleasesUri = new Uri(RepoUri + releasesPath); var getReleasesUri = CombineUri(RepoUri, releasesPath);
var response = await Downloader.DownloadString(getReleasesUri.ToString(), var response = await Downloader.DownloadString(getReleasesUri.ToString(),
new Dictionary<string, string> { new Dictionary<string, string> {
[Authorization.Name] = Authorization.Value, [Authorization.Name] = Authorization.Value,
@@ -168,5 +168,15 @@ namespace Velopack.Sources
if (releases == null) return Array.Empty<GitlabRelease>(); if (releases == null) return Array.Empty<GitlabRelease>();
return releases.OrderByDescending(d => d.ReleasedAt).Where(x => includePrereleases || !x.UpcomingRelease).ToArray(); return releases.OrderByDescending(d => d.ReleasedAt).Where(x => includePrereleases || !x.UpcomingRelease).ToArray();
} }
private static Uri CombineUri(Uri baseUri, string relativePath)
{
string baseUriStr = baseUri.ToString();
if (!baseUriStr.EndsWith("/"))
baseUriStr += "/";
return new Uri(baseUriStr + relativePath);
}
} }
} }