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.

96 lines
2.3 KiB

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