fix nuget
All checks were successful
Build / Compute Version (push) Successful in 5s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 2m38s
Build / Build Nuget package (NuGet) (push) Successful in 2m24s
Build / Build Nuget package (CringePlugins) (push) Successful in 2m48s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m29s
Build / Build Launcher (push) Successful in 3m50s

This commit is contained in:
zznty
2024-10-28 00:46:37 +07:00
parent f75e4e7b4a
commit 78be6bd837
20 changed files with 472 additions and 93 deletions

View File

@@ -1,4 +1,5 @@
using System.Net.Http.Json;
using System.Net;
using System.Net.Http.Json;
using System.Text.Json;
using NuGet.Converters;
using NuGet.Models;
@@ -32,8 +33,9 @@ public class NuGetClient
public Task<Stream> GetPackageContentStreamAsync(string id, NuGetVersion version)
{
id = id.ToLower();
return _client.GetStreamAsync(new Uri(_packageBaseAddress,
new Uri($"{id.ToLower()}/{version}.nupkg", UriKind.Relative)));
new Uri($"{id}/{version}/{id}.{version}.nupkg", UriKind.Relative)));
}
public Task<Registration> GetPackageRegistrationAsync(string id, NuGetVersion version)
@@ -61,12 +63,20 @@ public class NuGetClient
public static async Task<NuGetClient> CreateFromIndexUrlAsync(string indexUrl)
{
var client = new HttpClient();
var client = new HttpClient(new HttpClientHandler
{
AutomaticDecompression = DecompressionMethods.All
});
var index = await client.GetFromJsonAsync<NuGetIndex>(indexUrl, SerializerOptions);
var (packageBaseAddress, _, _) = index!.Resources.First(b => b.Type.Id == "PackageBaseAddress");
var (registration, _, _) = index!.Resources.First(b => b.Type.Id == "RegistrationsBaseUrl");
if (!packageBaseAddress.EndsWith('/'))
packageBaseAddress += '/';
if (!registration.EndsWith('/'))
registration += '/';
return new NuGetClient(client, new Uri(packageBaseAddress), new Uri(registration));
}