You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
2.3 KiB

  1. using Apewer.Models;
  2. using System;
  3. using System.IO;
  4. namespace Apewer.Web
  5. {
  6. /// <summary></summary>
  7. [Serializable]
  8. public sealed class ApiResponse
  9. {
  10. private Json _data = Json.NewObject();
  11. internal DateTime Beginning;
  12. internal DateTime Ending;
  13. internal ApiFormat Type = ApiFormat.Json;
  14. internal Exception Exception;
  15. /// <summary>头。</summary>
  16. public StringPairs Headers { get; set; } = new StringPairs();
  17. /// <summary>Cookies。</summary>
  18. public StringPairs Cookies { get; set; } = new StringPairs();
  19. /// <summary>Application。</summary>
  20. public string Application { get; set; }
  21. /// <summary>Function。</summary>
  22. public string Function { get; set; }
  23. /// <summary>Random。</summary>
  24. public string Random { get; set; }
  25. /// <summary>状态。</summary>
  26. public string Status { get; set; }
  27. /// <summary>消息。</summary>
  28. public string Message { get; set; }
  29. /// <summary>获取或设置 Ticket。</summary>
  30. public string Ticket { get; set; }
  31. /// <summary>设置缓存过期时间,单位为秒。默认值:0,立即过期,不缓存。</summary>
  32. /// <remarks>在 .NET Framework 中,此设置可能无效。</remarks>
  33. public int Expires { get; set; }
  34. /// <summary>当响应 Json 时,强制缩进排版。</summary>
  35. public bool Indented { get; set; } = false;
  36. /// <summary>自定义数据。</summary>
  37. public Json Data
  38. {
  39. get { return _data; }
  40. set { _data = value ?? Json.NewObject(); }
  41. }
  42. #region 输出纯文本。
  43. internal string TextString;
  44. internal string TextType;
  45. #endregion
  46. #region 输出字节数组。
  47. internal Stream BinaryStream;
  48. internal byte[] BinaryBytes;
  49. internal string BinaryType;
  50. #endregion
  51. #region 输出文件。
  52. internal Stream FileStream;
  53. internal byte[] FileBytes;
  54. internal string FileType;
  55. internal string FileName;
  56. #endregion
  57. #region 重定向。
  58. internal string RedirectCode;
  59. internal string RedirectUrl;
  60. #endregion
  61. }
  62. }