using Apewer; using Apewer.Models; using Apewer.Network; using System; using System.Collections.Generic; using System.Collections.Specialized; namespace Apewer.Web { /// <summary></summary> [Serializable] public sealed class ApiRequest { private Json _data = null; #if NETFX internal System.Web.HttpContext Context { get; set; } #endif #if NETCORE internal Microsoft.AspNetCore.Http.HttpContext Context { get; set; } #endif /// <summary>客户端 IP 地址。</summary> public string IP { get; set; } #region 请求头。 /// <summary></summary> public Uri Url { get; set; } /// <summary></summary> public Uri Referrer { get; set; } /// <summary>HTTP 头中的 User Agent 字符串。</summary> public string UserAgent { get; set; } /// <summary>HTTP 方法。</summary> public HttpMethod Method { get; set; } /// <summary>已解码的 URL 参数。</summary> public StringPairs Parameters { get; set; } = new StringPairs(); /// <summary>HTTP 头。</summary> public StringPairs Headers { get; set; } = new StringPairs(); #endregion #region API 请求。 /// <summary></summary> public string Application { get; set; } /// <summary></summary> public string Function { get; set; } /// <summary></summary> public string Random { get; set; } /// <summary></summary> public string Ticket { get; set; } /// <summary></summary> public string Session { get; set; } /// <summary></summary> public string Page { get; set; } #endregion #region POST 内容。 /// <summary></summary> public byte[] PostData { get; set; } /// <summary></summary> public string PostText { get; set; } /// <summary></summary> public Json PostJson { get; set; } /// <summary></summary> public Json Data { get { if (_data == null) _data = Json.NewObject(); return _data; } set { _data = value; } } #endregion } }