| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System.Collections.Specialized;
- using System.IO;
- using System.Web;
- namespace Masuit.Tools.Test.Mvc.Mocks
- {
- public class MockHttpResponse : HttpResponseBase
- {
- public override NameValueCollection Headers => _headers;
- public bool FileTransmitted { get; set; }
- public override bool BufferOutput { get; set; }
- public override System.IO.Stream OutputStream => _stream ?? (_stream = new MemoryStream());
- public override bool IsClientConnected => true;
- public override string ContentType { get; set; }
- public override int StatusCode { get; set; }
- private readonly NameValueCollection _headers = new NameValueCollection();
- private MemoryStream _stream;
- public bool IsClosed;
- public override void AppendHeader(string name, string value)
- {
- AddHeader(name, value);
- }
- public override void AddHeader(string name, string value)
- {
- _headers.Add(name, value);
- }
- public void ClearTestResponse()
- {
- _stream = new MemoryStream();
- Headers.Clear();
- StatusCode = 0;
- }
- public override void Flush()
- {
- }
- public override void Write(string s)
- {
- }
- public override void Close()
- {
- IsClosed = true;
- }
- public override void TransmitFile(string filename)
- {
- FileTransmitted = true;
- var fi = new FileInfo(filename);
- using (var read = fi.OpenRead())
- {
- for (var i = 0; i < fi.Length; i++)
- {
- OutputStream.WriteByte((byte)read.ReadByte());
- }
- }
- }
- public override void TransmitFile(string filename, long offset, long length)
- {
- var fi = new FileInfo(filename);
- using (var read = fi.OpenRead())
- {
- read.Seek(offset, SeekOrigin.Begin);
- for (var i = 0; i < length; i++)
- {
- OutputStream.WriteByte((byte)read.ReadByte());
- }
- }
- }
- }
- }
|