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.

91 lines
2.1 KiB

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