Skip to content

Commit f4a3b73

Browse files
Forgindbaronfel
andauthored
Update src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs
Co-authored-by: Chet Husk <[email protected]>
1 parent 6a28e8a commit f4a3b73

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/Cli/dotnet/NugetPackageDownloader/NuGetPackageDownloader.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,13 @@ public async Task<string> DownloadPackageAsync(PackageId packageId,
9696

9797
SourceRepository repository = GetSourceRepository(source);
9898

99-
if (isTool && await repository.GetResourceAsync<ServiceIndexResourceV3>().ConfigureAwait(false) is ServiceIndexResourceV3 serviceIndex)
99+
if (isTool && await repository.GetResourceAsync<PackageSearchResourceV3>(cancellationToken).ConfigureAwait(false) is var searchResource)
100100
{
101-
var uri = serviceIndex.GetServiceEntries("SearchQueryService/3.5.0")[0].Uri;
102-
var queryUri = uri + $"?q={packageId}&packageType=dotnettool";
103-
using HttpClient client = new(new HttpClientHandler() { CheckCertificateRevocationList = true });
104-
using HttpResponseMessage response = await client.GetAsync(queryUri).ConfigureAwait(false);
105-
if (response.Content.Headers.ContentLength == 139)
101+
var results = await searchResource.SearchAsync(packageId.ToString(), new SearchFilter(includePrerelease: includePreview, filter: SearchFilterType.IsLatestVersion)
102+
{
103+
PackageTypes = [NuGet.Packaging.Core.PackageType.DotnetTool.Name]
104+
}, skip: 0, take: 10, log: _verboseLogger, cancellationToken: cancellationToken).ConfigureAwait(false);
105+
if (results.Count() == 0)
106106
{
107107
throw new ToolPackageException(string.Format(LocalizableStrings.NotATool, packageId));
108108
}

0 commit comments

Comments
 (0)