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.

99 lines
2.4 KiB

3 years ago
4 years ago
11 months ago
4 years ago
4 years ago
11 months ago
3 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. using System.Net;
  5. namespace Apewer.Web
  6. {
  7. /// <summary></summary>
  8. [Serializable]
  9. public sealed class ApiRequest
  10. {
  11. private Json _data = null;
  12. internal string[] _segmentals = null;
  13. /// <summary>自定义标签。</summary>
  14. public object Tag { get; set; }
  15. #region http
  16. /// <summary>客户端 IP 地址。</summary>
  17. public string IP { get; set; }
  18. /// <summary></summary>
  19. public Uri Url { get; set; }
  20. /// <summary></summary>
  21. public string Referrer { get; set; }
  22. /// <summary>HTTP 头中的 User Agent 字符串。</summary>
  23. public string UserAgent { get; set; }
  24. /// <summary>HTTP 方法。</summary>
  25. public HttpMethod Method { get; set; }
  26. /// <summary>已解码的 URL 参数。</summary>
  27. public StringPairs Parameters { get; set; } = new StringPairs();
  28. /// <summary>HTTP 头。</summary>
  29. public HttpHeaders Headers { get; set; } = new HttpHeaders();
  30. /// <summary>Cookies。</summary>
  31. public CookieCollection Cookies { get; set; } = new CookieCollection();
  32. #endregion
  33. #region api
  34. /// <summary></summary>
  35. public string Application { get; set; }
  36. /// <summary></summary>
  37. public string Function { get; set; }
  38. /// <summary></summary>
  39. public string Random { get; set; }
  40. /// <summary></summary>
  41. public string Ticket { get; set; }
  42. /// <summary></summary>
  43. public string Session { get; set; }
  44. /// <summary></summary>
  45. public string Page { get; set; }
  46. #endregion
  47. #region post
  48. /// <summary></summary>
  49. public byte[] PostData { get; set; }
  50. /// <summary></summary>
  51. public string PostText { get; set; }
  52. /// <summary></summary>
  53. public Json PostJson { get; set; }
  54. /// <summary>已解码的 POST 参数,仅当内容类型为 application/x-www-form-urlencoded 时有效。</summary>
  55. public StringPairs Form { get; set; }
  56. /// <summary></summary>
  57. public Json Data
  58. {
  59. get
  60. {
  61. if (_data == null) _data = Json.NewObject();
  62. return _data;
  63. }
  64. set { _data = value; }
  65. }
  66. #endregion
  67. }
  68. }