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 } }