/// <summary> /// Check if a package exists. /// </summary> /// <param name="packageId">The package ID.</param> /// <param name="cancellationToken">A token to cancel the task.</param> /// <returns>Whether the package exists.</returns> public virtual async Task <bool> ExistsAsync( string packageId, CancellationToken cancellationToken = default) { var versions = await _contentClient.GetPackageVersionsOrNullAsync(packageId, cancellationToken); return(versions != null && versions.Versions.Any()); }
private async Task <IReadOnlyList <NuGetVersion> > GetAllVersionsFromPackageContentResourceAsync(string packageId, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var packageContentUrl = await _serviceIndexService.GetPackageContentUrlAsync(); var requestUrl = $"{packageContentUrl}/{packageId.ToLowerInvariant()}/index.json"; var result = await _packageContentClient.GetPackageVersionsOrNullAsync(requestUrl); if (result == null) { return(new NuGetVersion[0]); } return(result.Versions); }