| File: LegacyFeed\DownloadResourceV2FeedProvider.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.Protocol\NuGet.Protocol.csproj (NuGet.Protocol) |
// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. #nullable disable using System; using System.Threading; using System.Threading.Tasks; using NuGet.Protocol.Core.Types; namespace NuGet.Protocol { public class DownloadResourceV2FeedProvider : ResourceProvider { public DownloadResourceV2FeedProvider() : base(typeof(DownloadResource), "DownloadResourceV2FeedProvider", "DownloadResourceV2Provider") { } public override async Task<Tuple<bool, INuGetResource>> TryCreate(SourceRepository source, CancellationToken token) { DownloadResource resource = null; if (await source.GetFeedType(token) == FeedType.HttpV2) { var serviceDocument = await source.GetResourceAsync<ODataServiceDocumentResourceV2>(token); var httpSource = await source.GetResourceAsync<HttpSourceResource>(token); var parser = new V2FeedParser(httpSource.HttpSource, serviceDocument.BaseAddress, source.PackageSource.Source); resource = new DownloadResourceV2Feed(parser, source.PackageSource.Source); } return new Tuple<bool, INuGetResource>(resource != null, resource); } } }