Esempio n. 1
0
        private V2SearchResponse ToResponse <T>(
            V2SearchRequest request,
            string indexName,
            string documentKey,
            T document,
            TimeSpan duration,
            Func <T, V2SearchPackage> toPackage)
            where T : class
        {
            var data = new List <V2SearchPackage>();

            if (document != null)
            {
                var package = toPackage(document);
                package.Debug = request.ShowDebug ? new DebugDocumentResult {
                    Document = document
                } : null;
                data.Add(package);
            }

            if (request.CountOnly)
            {
                return(new V2SearchResponse
                {
                    TotalHits = data.Count,
                    Debug = DebugInformation.CreateFromGetOrNull(
                        request,
                        indexName,
                        documentKey,
                        duration,
                        AuxiliaryData.Metadata),
                });
            }
            else
            {
                return(new V2SearchResponse
                {
                    TotalHits = data.Count,
                    Data = data,
                    Debug = DebugInformation.CreateFromGetOrNull(
                        request,
                        indexName,
                        documentKey,
                        duration,
                        AuxiliaryData.Metadata),
                });
            }
        }
Esempio n. 2
0
        public V3SearchResponse V3FromSearchDocument(
            V3SearchRequest request,
            string documentKey,
            SearchDocument.Full document,
            TimeSpan duration)
        {
            var registrationsBaseUrl = GetRegistrationsBaseUrl(request.IncludeSemVer2);

            var data = new List <V3SearchPackage>();

            if (document != null)
            {
                var package = ToV3SearchPackage(document, registrationsBaseUrl);
                package.Debug = request.ShowDebug ? new DebugDocumentResult {
                    Document = document
                } : null;
                data.Add(package);
            }

            return(new V3SearchResponse
            {
                Context = new V3SearchContext
                {
                    Vocab = "http://schema.nuget.org/schema#",
                    Base = registrationsBaseUrl,
                },
                TotalHits = data.Count,
                Data = data,
                Debug = DebugInformation.CreateFromGetOrNull(
                    request,
                    _options.Value.SearchIndexName,
                    documentKey,
                    duration,
                    AuxiliaryData.Metadata),
            });
        }