Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }