SignatureValidateRequest.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using System.Collections.Generic;
  3. using Top.Api.Response;
  4. using Top.Api.Util;
  5. namespace Top.Api.Request
  6. {
  7. /// <summary>
  8. /// TOP API: taobao.signature.validate
  9. /// </summary>
  10. public class SignatureValidateRequest : BaseTopRequest<SignatureValidateResponse>, ITopUploadRequest<SignatureValidateResponse>
  11. {
  12. /// <summary>
  13. /// 签名算法,可选值:HmacMD5, HmacSHA1
  14. /// </summary>
  15. public string Algorithm { get; set; }
  16. /// <summary>
  17. /// 待签名的请求体,最大5M
  18. /// </summary>
  19. public FileItem Body { get; set; }
  20. /// <summary>
  21. /// 字节流编码方式,可选值:utf-8, gbk
  22. /// </summary>
  23. public string Charset { get; set; }
  24. /// <summary>
  25. /// ISV的AppKey
  26. /// </summary>
  27. public string ProxyAppKey { get; set; }
  28. /// <summary>
  29. /// 待验证的签名
  30. /// </summary>
  31. public string Signature { get; set; }
  32. #region BaseTopRequest Members
  33. public override string GetApiName()
  34. {
  35. return "taobao.signature.validate";
  36. }
  37. public override IDictionary<string, string> GetParameters()
  38. {
  39. TopDictionary parameters = new TopDictionary();
  40. parameters.Add("algorithm", this.Algorithm);
  41. parameters.Add("charset", this.Charset);
  42. parameters.Add("proxy_app_key", this.ProxyAppKey);
  43. parameters.Add("signature", this.Signature);
  44. if (this.otherParams != null)
  45. {
  46. parameters.AddAll(this.otherParams);
  47. }
  48. return parameters;
  49. }
  50. public override void Validate()
  51. {
  52. RequestValidator.ValidateRequired("body", this.Body);
  53. RequestValidator.ValidateMaxLength("body", this.Body, 5242880);
  54. RequestValidator.ValidateRequired("proxy_app_key", this.ProxyAppKey);
  55. RequestValidator.ValidateRequired("signature", this.Signature);
  56. }
  57. #endregion
  58. #region ITopUploadRequest Members
  59. public IDictionary<string, FileItem> GetFileParameters()
  60. {
  61. IDictionary<string, FileItem> parameters = new Dictionary<string, FileItem>();
  62. parameters.Add("body", this.Body);
  63. return parameters;
  64. }
  65. #endregion
  66. }
  67. }