/// <summary> /// Gets the download info both url and response /// </summary> /// <param name="response">HttpWebResponse received from server</param> /// <param name="url">Source url</param> /// <returns></returns> public static HttpDownloadInfo GetFromResponse(HttpWebResponse response, string url) { var headers = response.Headers; var serverFileName = FileNameHelper.GetFileName(response); var contentSize = response.ContentLength; var contentRange = response.Headers[HttpResponseHeader.ContentRange]; if (contentSize < 1 && !string.IsNullOrEmpty(contentRange)) { var parts = contentRange.Split('/'); if (parts.Length > 1) { long.TryParse(parts[1], out contentSize); } } var acceptRanges = headers.AllKeys.Any(x => x.ToLower().Contains("range") && headers[x].Contains("bytes")); acceptRanges &= contentSize > 0; var resume = acceptRanges ? Resumeability.Unknown : Resumeability.No; Debug.WriteLine(response.Headers[HttpResponseHeader.ETag]); return(new HttpDownloadInfo(url, contentSize, acceptRanges, serverFileName, resume)); }
public void GetFileNameTest() { var result = FileNameHelper.GetFileName("2019"); Assert.AreEqual("SportsRadarStore-2019.json", result); }
public void GetFileNameEmptyStringTest() { var result = FileNameHelper.GetFileName(string.Empty); Assert.AreEqual("SportsRadarStore-.json", result); }