public FileWriter(string path, string contentType, string rangeHeader, ILogger logger, IFileSystem fileSystem, IStreamHelper streamHelper) { if (string.IsNullOrEmpty(contentType)) { throw new ArgumentNullException(nameof(contentType)); } _streamHelper = streamHelper; _fileSystem = fileSystem; Path = path; Logger = logger; RangeHeader = rangeHeader; Headers[HeaderNames.ContentType] = contentType; TotalContentLength = fileSystem.GetFileInfo(path).Length; Headers[HeaderNames.AcceptRanges] = "bytes"; if (string.IsNullOrWhiteSpace(rangeHeader)) { Headers[HeaderNames.ContentLength] = TotalContentLength.ToString(CultureInfo.InvariantCulture); StatusCode = HttpStatusCode.OK; } else { StatusCode = HttpStatusCode.PartialContent; SetRangeValues(); } FileShare = FileShareMode.Read; Cookies = new List <Cookie>(); }
public FileWriter(string path, string contentType, string rangeHeader, ILogger logger, IFileSystem fileSystem) { if (string.IsNullOrEmpty(contentType)) { throw new ArgumentNullException(nameof(contentType)); } Path = path; Logger = logger; RangeHeader = rangeHeader; Headers["Content-Type"] = contentType; TotalContentLength = fileSystem.GetFileInfo(path).Length; Headers["Accept-Ranges"] = "bytes"; if (string.IsNullOrWhiteSpace(rangeHeader)) { Headers["Content-Length"] = TotalContentLength.ToString(UsCulture); StatusCode = HttpStatusCode.OK; } else { StatusCode = HttpStatusCode.PartialContent; SetRangeValues(); } FileShare = FileShareMode.Read; Cookies = new List <Cookie>(); }