CachedRawResponse.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. //
  2. // System.Web.Caching.CachedRawResponse
  3. //
  4. // Author(s):
  5. // Jackson Harper ([email protected])
  6. //
  7. // (C) 2003 Novell, Inc (http://www.novell.com)
  8. //
  9. using System;
  10. using System.Text;
  11. using System.Collections;
  12. namespace System.Web.Caching {
  13. internal class CachedRawResponse {
  14. private HttpCachePolicy policy;
  15. private Hashtable vparams;
  16. private int status_code;
  17. private string status_desc;
  18. private int content_length;
  19. private ArrayList headers;
  20. private byte[] buffer;
  21. internal CachedRawResponse (HttpCachePolicy policy)
  22. {
  23. this.policy = policy;
  24. this.buffer = new byte [HttpWriter.MaxBufferSize];
  25. }
  26. internal HttpCachePolicy Policy {
  27. get { return policy; }
  28. set { policy = value; }
  29. }
  30. internal int StatusCode {
  31. get { return status_code; }
  32. set { status_code = value; }
  33. }
  34. internal string StatusDescription {
  35. get { return status_desc; }
  36. set { status_desc = value; }
  37. }
  38. internal int ContentLength {
  39. get { return content_length; }
  40. set { content_length = value; }
  41. }
  42. internal ArrayList Headers {
  43. get { return headers; }
  44. }
  45. internal void SetHeaders (ArrayList headers) {
  46. this.headers = headers;
  47. }
  48. internal void SetData (byte[] buffer)
  49. {
  50. this.buffer = buffer;
  51. }
  52. internal void SetResponseHeaders (HttpResponse response)
  53. {
  54. foreach (HttpResponseHeader hdr in headers)
  55. response.AppendHeader (hdr.Name, hdr.Value);
  56. }
  57. internal byte[] GetData ()
  58. {
  59. return buffer;
  60. }
  61. }
  62. }