Ejemplo n.º 1
0
        private PackageSearchMetadataRegistration ParseMetadata(JObject metadata)
        {
            var parsed = metadata.FromJToken <PackageSearchMetadataRegistration>();

            parsed.ReportAbuseUrl    = _reportAbuseResource?.GetReportAbuseUrl(parsed.PackageId, parsed.Version);
            parsed.PackageDetailsUrl = _packageDetailsUriResource?.GetUri(parsed.PackageId, parsed.Version);
            return(parsed);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Process RegistrationPage
        /// </summary>
        /// <param name="registrationPage">Nuget registration page.</param>
        /// <param name="results">Used to return nuget result.</param>
        /// <param name="range">Nuget version range.</param>
        /// <param name="includePrerelease">Whether to include PreRelease versions into result.</param>
        /// <param name="includeUnlisted">Whether to include Unlisted versions into result.</param>
        private void ProcessRegistrationPage(
            RegistrationPage registrationPage,
            List <PackageSearchMetadataRegistration> results,
            VersionRange range, bool includePrerelease,
            bool includeUnlisted,
            MetadataReferenceCache metadataCache)
        {
            foreach (RegistrationLeafItem registrationLeaf in registrationPage.Items)
            {
                PackageSearchMetadataRegistration catalogEntry = registrationLeaf.CatalogEntry;
                NuGetVersion version = catalogEntry.Version;
                bool         listed  = catalogEntry.IsListed;

                if (range.Satisfies(catalogEntry.Version) &&
                    (includePrerelease || !version.IsPrerelease) &&
                    (includeUnlisted || listed))
                {
                    catalogEntry.ReportAbuseUrl    = _reportAbuseResource?.GetReportAbuseUrl(catalogEntry.PackageId, catalogEntry.Version);
                    catalogEntry.PackageDetailsUrl = _packageDetailsUriResource?.GetUri(catalogEntry.PackageId, catalogEntry.Version);
                    catalogEntry = metadataCache.GetObject(catalogEntry);
                    results.Add(catalogEntry);
                }
            }
        }