public bool ResponsibleForRequest(FragLabs.HTTP.HttpRequest request) { if (request.Uri.AbsolutePath.ToLower() == "/") { return(true); } return(false); }
public bool ResponsibleForRequest(HttpRequest request) { if (request.Uri.AbsolutePath.ToLower() == "/stats") return true; return false; }
public override Dictionary<string, string> AdditionalHeaders(HttpRequest request) { var ret = new Dictionary<string, string>(); ret.Add("Content-Length", buffer.Length.ToString()); return ret; }
public override Dictionary<string, string> AdditionalHeaders(HttpRequest request) { long length = -1; try { length = backingStream.Length; } catch (Exception) { // Length not supported most likely return null; } var ret = new Dictionary<string, string>(); ret.Add("Content-Length", length.ToString()); return ret; }
void ReadRangeHeader(HttpRequest request) { if (request.Headers.ContainsKey("Range")) { var rangeHeader = request.Headers["Range"]; var words = rangeHeader.Split("=".ToCharArray()); if (words[0].Trim().ToLower() == "bytes") { IsPartial = true; var rangeInfo = words[1].Trim().Split("-".ToCharArray()); if (rangeInfo[0] != "") startOffset = Convert.ToInt64(rangeInfo[0]); if (rangeInfo[1] == "") endOffset = new FileInfo(file).Length; else endOffset = Convert.ToInt64(rangeInfo[1]) + 1; if (rangeInfo[0] == "") { endOffset = new FileInfo(file).Length; startOffset = endOffset - Convert.ToInt64(rangeInfo[1]); } } } else { endOffset = new FileInfo(file).Length; } }
public override void Connect(HttpRequest request) { readBuffer = new byte[chunkSize]; base.Connect(request); stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read); stream.Seek(startOffset, SeekOrigin.Begin); currentOffset = startOffset; }
public override Dictionary<string, string> AdditionalHeaders(HttpRequest request) { ReadRangeHeader(request); var headers = new Dictionary<string, string>(); headers.Add("Content-Type", ContentType()); headers.Add("Content-Length", ContentLength()); headers.Add("Accept-Ranges", "bytes"); if (IsPartial) { headers.Add("Content-Range", ContentRange()); } return headers; }
public virtual void Connect(HttpRequest request) { Connected = true; Request = request; }
public virtual Dictionary<string, string> AdditionalHeaders(HttpRequest request) { return null; }