using System;
using System.Collections.Generic;
namespace Top.Api
{
///
/// 基础TOP请求类,存放一些通用的请求参数。
///
public abstract class BaseTopRequest : ITopRequest where T : TopResponse
{
///
/// HTTP请求URL参数
///
internal TopDictionary otherParams;
///
/// HTTP请求头参数
///
private TopDictionary headerParams;
///
/// 请求目标AppKey
///
private string targetAppKey;
///
/// 批量API请求的用户授权码
///
private string batchApiSession;
///
/// API在批量调用中的顺序
///
private int batchApiOrder;
public void AddOtherParameter(string key, string value)
{
if (this.otherParams == null)
{
this.otherParams = new TopDictionary();
}
this.otherParams.Add(key, value);
}
public void AddHeaderParameter(string key, string value)
{
GetHeaderParameters().Add(key, value);
}
public IDictionary GetHeaderParameters()
{
if (this.headerParams == null)
{
this.headerParams = new TopDictionary();
}
return this.headerParams;
}
public string GetTargetAppKey()
{
return this.targetAppKey;
}
public void SetTargetAppKey(string targetAppKey)
{
this.targetAppKey = targetAppKey;
}
public string GetBatchApiSession()
{
return this.batchApiSession;
}
public void SetBatchApiSession(string session)
{
this.batchApiSession = session;
}
public int GetBatchApiOrder()
{
return this.batchApiOrder;
}
public void SetBatchApiOrder(int order)
{
this.batchApiOrder = order;
}
public abstract string GetApiName();
public abstract void Validate();
public abstract IDictionary GetParameters();
}
}