public static bool IsRangeHeaderCorrect(this HttpRequestHeaders headerCollection, long fileLen) { RangeHeaderValue rangeHeader = headerCollection.Range; bool unitIsNotbytes = rangeHeader.Unit != "bytes"; bool multipleRanges = rangeHeader.Ranges.Count > 1; RangeItemHeaderValue range = rangeHeader.Ranges.First(); bool start_end_fileLen_error = !(range.RangeHeaderStart(fileLen) < fileLen && range.RangeHeaderEnd(fileLen) < fileLen); return(!(unitIsNotbytes || multipleRanges || start_end_fileLen_error)); }
public static bool IsRangeHeaderCorrect(this WebHeaderCollection headerCollection, long fileLen) { RangeHeaderValue rangeHeader = new RangeHeaderValue(); if (!RangeHeaderValue .TryParse(headerCollection[HttpRequestHeader.Range], out rangeHeader)) { return(false); } bool unitIsNotbytes = rangeHeader.Unit != "bytes"; bool multipleRanges = rangeHeader.Ranges.Count > 1; RangeItemHeaderValue range = rangeHeader.Ranges.First(); bool start_end_fileLen_error = !(range.RangeHeaderStart(fileLen) < fileLen && range.RangeHeaderEnd(fileLen) < fileLen); return(!(unitIsNotbytes || multipleRanges || start_end_fileLen_error)); }