public List <ProviderQuality> GetQuality() { //Fetch from data source List <ProviderQuality> providerQualities = new List <ProviderQuality>(); try { ProviderQuality p1 = new ProviderQuality() { providerName = "IpInfo", avgResponseTime = 500, requestCount = 7, errorCount = 1 }; ProviderQuality p2 = new ProviderQuality() { providerName = "slowIpInfo", avgResponseTime = 1800, requestCount = 1, errorCount = 3 }; providerQualities.Add(p1); providerQualities.Add(p2); } catch (Exception e) { //log exception } return(providerQualities); }
public async Task <FullResponse> getIPdetails(ProviderQuality p1) { FullResponse response = new FullResponse(); try { HttpResponseMessage httpResult = await _httpClient.GetAsync(url.AbsoluteUri); Stopwatch stopwatch = new Stopwatch(); p1.requestCount++; if (httpResult.IsSuccessStatusCode) { stopwatch.Reset(); stopwatch.Start(); string data = await httpResult.Content.ReadAsStringAsync(); response = JsonConvert.DeserializeObject <FullResponse>(data); stopwatch.Stop(); p1.avgResponseTime += stopwatch.ElapsedMilliseconds / 2; } else { p1.errorCount++; } } catch (Exception e) { //log exception } return(response); }
public async Task <FullResponse> getIPdetails(ProviderQuality p1) { FullResponse response = new FullResponse(); Stopwatch stopwatch = new Stopwatch(); try { var client = new HttpClient(); var api = new IpInfoApi(client); p1.requestCount++; stopwatch.Reset(); stopwatch.Start(); response = await api.GetCurrentInformationAsync(); stopwatch.Stop(); p1.avgResponseTime += stopwatch.ElapsedMilliseconds / 2; } catch (Exception e) { //log exception } return(response); }