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.

92 lines
2.1 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. using Apewer;
  2. using Apewer.Network;
  3. using System;
  4. namespace Apewer.Web
  5. {
  6. /// <summary></summary>
  7. [Serializable]
  8. public sealed class ApiRequest
  9. {
  10. private Json _data = null;
  11. internal string[] _segmentals = null;
  12. #region http
  13. /// <summary>客户端 IP 地址。</summary>
  14. public string IP { get; set; }
  15. /// <summary></summary>
  16. public Uri Url { get; set; }
  17. /// <summary></summary>
  18. public string Referrer { get; set; }
  19. /// <summary>HTTP 头中的 User Agent 字符串。</summary>
  20. public string UserAgent { get; set; }
  21. /// <summary>HTTP 方法。</summary>
  22. public HttpMethod Method { get; set; }
  23. /// <summary>已解码的 URL 参数。</summary>
  24. public StringPairs Parameters { get; set; } = new StringPairs();
  25. /// <summary>HTTP 头。</summary>
  26. public StringPairs Headers { get; set; } = new StringPairs();
  27. /// <summary>Cookies。</summary>
  28. public StringPairs Cookies { get; set; } = new StringPairs();
  29. #endregion
  30. #region api
  31. /// <summary></summary>
  32. public string Application { get; set; }
  33. /// <summary></summary>
  34. public string Function { get; set; }
  35. /// <summary></summary>
  36. public string Random { get; set; }
  37. /// <summary></summary>
  38. public string Ticket { get; set; }
  39. /// <summary></summary>
  40. public string Session { get; set; }
  41. /// <summary></summary>
  42. public string Page { get; set; }
  43. #endregion
  44. #region post
  45. /// <summary></summary>
  46. public byte[] PostData { get; set; }
  47. /// <summary></summary>
  48. public string PostText { get; set; }
  49. /// <summary></summary>
  50. public Json PostJson { get; set; }
  51. /// <summary></summary>
  52. public Json Data
  53. {
  54. get
  55. {
  56. if (_data == null) _data = Json.NewObject();
  57. return _data;
  58. }
  59. set { _data = value; }
  60. }
  61. #endregion
  62. }
  63. }