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

using Apewer;
using Apewer.Network;
using System;
using System.Net;
namespace Apewer.Web
{
/// <summary></summary>
[Serializable]
public sealed class ApiRequest
{
private Json _data = null;
internal string[] _segmentals = null;
/// <summary>自定义标签。</summary>
public object Tag { get; set; }
#region http
/// <summary>客户端 IP 地址。</summary>
public string IP { get; set; }
/// <summary></summary>
public Uri Url { get; set; }
/// <summary></summary>
public string 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 HttpHeaders Headers { get; set; } = new HttpHeaders();
/// <summary>Cookies。</summary>
public CookieCollection Cookies { get; set; } = new CookieCollection();
#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>已解码的 POST 参数,仅当内容类型为 application/x-www-form-urlencoded 时有效。</summary>
public StringPairs Form { get; set; }
/// <summary></summary>
public Json Data
{
get
{
if (_data == null) _data = Json.NewObject();
return _data;
}
set { _data = value; }
}
#endregion
}
}