public async Task<string> SpeedAnalysis(SiteMonitoringRequest request)
 {
     using (var client = new HttpClient())
     {
         var response = await client.GetAsync(_apiUrl + "SpeedAnalysis?url=" + request.Url + "&timeout=" + request.Timeout.TotalMilliseconds);
         return await response.Content.ReadAsStringAsync();
     }
 }
 public async Task<TimingResponse> Timing(SiteMonitoringRequest request)
 {
     using (var client = new HttpClient())
     {
         var response = await client.GetAsync(_apiUrl + "Timing?url=" + request.Url + "&timeout=" + request.Timeout.TotalMilliseconds);
         return await response.Content.ReadAsAsync<TimingResponse>();
     }
 }
 public async Task<TimingWaterfall> TimingAsWaterfall(SiteMonitoringRequest request)
 {
     var timingResponse = (await Timing(request));
     return new TimingWaterfall(timingResponse);
 }