RequestContext.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System.Linq;
  2. using System.Net;
  3. using System.IO.Compression;
  4. namespace MediaBrowser.Controller.Net
  5. {
  6. public class RequestContext
  7. {
  8. public HttpListenerRequest Request { get; private set; }
  9. public HttpListenerResponse Response { get; private set; }
  10. public RequestContext(HttpListenerContext context)
  11. {
  12. Response = context.Response;
  13. Request = context.Request;
  14. }
  15. public void Respond(Response response)
  16. {
  17. Response.AddHeader("Access-Control-Allow-Origin", "*");
  18. foreach (var header in response.Headers)
  19. {
  20. Response.AddHeader(header.Key, header.Value);
  21. }
  22. Response.ContentType = response.ContentType;
  23. Response.StatusCode = response.StatusCode;
  24. Response.SendChunked = true;
  25. GZipStream gzipStream = new GZipStream(Response.OutputStream, CompressionMode.Compress, false);
  26. response.WriteStream(Response.OutputStream);
  27. }
  28. }
  29. }