Beispiel #1
0
        protected async Task <NuGetSearchApiResult> ExecuteQueryAsync(HttpClient httpClient, string query, int numRetries = 3)
        {
            Debug.Assert(httpClient != null);
            Debug.Assert(!string.IsNullOrEmpty(query));

            Uri queryUri = new Uri(new Uri(Strings.NuGetQueryBaseUrl), query);

            NuGetSearchApiResult result = null;

            try {
                var resultJson = await GetApiJsonResultsAsync(httpClient, queryUri, numRetries);

                result = JsonConvert.DeserializeObject <NuGetSearchApiResult>(resultJson);
            }
            catch (Exception ex) {
                Console.WriteLine($"warning: {ex}");
            }

            if (result == null)
            {
                throw new NuGetQueryException($"Unable to query nuget for uri: {queryUri}");
            }

            return(result);
        }
        protected async Task <NuGetSearchApiResult> ExecuteQueryAsync(HttpClient httpClient, string query, int numRetries = 3)
        {
            Debug.Assert(httpClient != null);
            Debug.Assert(!string.IsNullOrEmpty(query));

            Uri queryUri = new Uri(new Uri(Strings.NuGetQueryBaseUrl), query);

            int numRuns = 0;
            NuGetSearchApiResult result = null;

            while (numRuns < numRetries)
            {
                try {
                    Console.WriteLine($"query: {queryUri.ToString()}");
                    var resultJson = await httpClient.GetStringAsync(queryUri);

                    result = JsonConvert.DeserializeObject <NuGetSearchApiResult>(resultJson);
                    break;
                }
                catch (Exception ex) {
                    Console.WriteLine($"warning: {ex.ToString()}");
                }

                numRuns++;
            }

            if (result == null)
            {
                throw new NuGetQueryException($"Unable to query nuget for uri: {queryUri.ToString()}");
            }

            return(result);
        }