private static ResponseContentRange GetRange(HttpWebResponse response)
        {
            var rangeHeader = response.Headers["Content-Range"];
            var range       = new ResponseContentRange {
                ContentLength = response.ContentLength
            };

            if (rangeHeader == null || rangeHeader.Length <= 6 || !rangeHeader.StartsWith("bytes "))
            {
                return(range);
            }
            rangeHeader = rangeHeader.Substring(6);
            var posStart = rangeHeader.IndexOf('-');
            var posTotal = rangeHeader.IndexOf('/');

            if (posTotal <= 0)
            {
                return(range);
            }
            if (posStart <= 0)
            {
                range.From = 0;
            }
            else
            {
                var strStart = rangeHeader.Substring(0, posStart);
                range.From = long.Parse(strStart);
            }
            var strStop = rangeHeader.Substring(posStart + 1, posTotal - posStart - 1);

            range.To = long.Parse(strStop);
            var strTotal = rangeHeader.Substring(posTotal + 1);

            range.Length = long.Parse(strTotal);
            return(range);
        }
 private static ResponseContentRange GetRange(HttpWebResponse response)
 {
     var rangeHeader = response.Headers["Content-Range"];
     var range = new ResponseContentRange {ContentLength = response.ContentLength};
     if (rangeHeader == null || rangeHeader.Length <= 6 || !rangeHeader.StartsWith("bytes ")) return range;
     rangeHeader = rangeHeader.Substring(6);
     var posStart = rangeHeader.IndexOf('-');
     var posTotal = rangeHeader.IndexOf('/');
     if (posTotal <= 0) return range;
     if (posStart <= 0) range.From = 0;
     else {
         var strStart = rangeHeader.Substring(0, posStart);
         range.From = long.Parse(strStart);
     }
     var strStop = rangeHeader.Substring(posStart + 1, posTotal - posStart - 1);
     range.To = long.Parse(strStop);
     var strTotal = rangeHeader.Substring(posTotal + 1);
     range.Length = long.Parse(strTotal);
     return range;
 }