using System;
using System.Collections.Generic;
using Top.Api.Response;
using Top.Api.Util;
namespace Top.Api.Request
{
///
/// TOP API: taobao.signature.validate
///
public class SignatureValidateRequest : BaseTopRequest, ITopUploadRequest
{
///
/// 签名算法,可选值:HmacMD5, HmacSHA1
///
public string Algorithm { get; set; }
///
/// 待签名的请求体,最大5M
///
public FileItem Body { get; set; }
///
/// 字节流编码方式,可选值:utf-8, gbk
///
public string Charset { get; set; }
///
/// ISV的AppKey
///
public string ProxyAppKey { get; set; }
///
/// 待验证的签名
///
public string Signature { get; set; }
#region BaseTopRequest Members
public override string GetApiName()
{
return "taobao.signature.validate";
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("algorithm", this.Algorithm);
parameters.Add("charset", this.Charset);
parameters.Add("proxy_app_key", this.ProxyAppKey);
parameters.Add("signature", this.Signature);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("body", this.Body);
RequestValidator.ValidateMaxLength("body", this.Body, 5242880);
RequestValidator.ValidateRequired("proxy_app_key", this.ProxyAppKey);
RequestValidator.ValidateRequired("signature", this.Signature);
}
#endregion
#region ITopUploadRequest Members
public IDictionary GetFileParameters()
{
IDictionary parameters = new Dictionary();
parameters.Add("body", this.Body);
return parameters;
}
#endregion
}
}