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); }