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.

89 lines
2.1 KiB

using Apewer.Models;
using Apewer.Network;
using System;
using System.IO;
using System.Net;
namespace Apewer.Web
{
/// <summary></summary>
[Serializable]
public sealed class ApiResponse
{
/// <summary>自定义标签。</summary>
public object Tag { get; set; }
#region internal
private object _model = null;
private Json _data = Json.NewObject();
internal bool StopReturn = false;
/// <summary>API 的执行时间。</summary>
public string Duration { get; set; }
/// <summary>Application。</summary>
public string Application { get; set; }
/// <summary>Function。</summary>
public string Function { get; set; }
/// <summary>Random。</summary>
public string Random { get; set; }
#endregion
#region user
/// <summary>头。</summary>
public HttpHeaders Headers { get; set; } = new HttpHeaders();
/// <summary>Cookies。</summary>
public CookieCollection Cookies { get; set; } = new CookieCollection();
/// <summary>获取或设置输出模型。</summary>
public object Model
{
get { return _model; }
set
{
RuntimeUtility.Dispose(_model);
_model = value;
}
}
/// <summary>当响应 Json 时,强制缩进排版。</summary>
public bool Indented { get; set; }
/// <summary>状态。</summary>
public string Status { get; set; }
/// <summary>消息。</summary>
public string Message { get; set; }
/// <summary>自定义数据。</summary>
public Json Data
{
get { return _data; }
set { _data = value ?? Json.NewObject(); }
}
/// <summary>设置 Data 的属性。</summary>
public string this[string name] { get => Data[name]; set => Data[name] = value; }
#endregion
#region Function
/// <summary>设置输出前的检查。</summary>
public ApiPreOutput PreOutput { get; set; }
#endregion
}
}