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.

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