SetBucketRefererRequest.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (C) Alibaba Cloud Computing
  3. * All rights reserved.
  4. *
  5. * 版权所有 (C)阿里云计算有限公司
  6. */
  7. using System.Collections.Generic;
  8. namespace Aliyun.OSS
  9. {
  10. /// <summary>
  11. /// 设置指定Bucket的Referer白名单和是否允许referer字段为空的请求。
  12. /// </summary>
  13. public class SetBucketRefererRequest
  14. {
  15. private readonly IList<string> _refererList = new List<string>();
  16. /// <summary>
  17. /// 获取或者设置<see cref="OssObject" />所在<see cref="Bucket" />的名称。
  18. /// </summary>
  19. public string BucketName { get; private set; }
  20. /// <summary>
  21. /// 指定是否允许referer字段为空的请求访问。
  22. /// </summary>
  23. public bool AllowEmptyReferer { get; private set; }
  24. /// <summary>
  25. /// 获取或者设置需要删除的referer列表。
  26. /// </summary>
  27. public IList<string> RefererList
  28. {
  29. get { return _refererList; }
  30. }
  31. /// <summary>
  32. /// 使用空的referer列表、允许referer为空的请求访问的构造函数。
  33. /// </summary>
  34. /// <param name="bucketName"><see cref="OssObject"/></param>
  35. public SetBucketRefererRequest(string bucketName)
  36. : this(bucketName, null, true)
  37. { }
  38. /// <summary>
  39. /// 使用指定的referer列表、允许referer为空的请求访问的构造函数。
  40. /// </summary>
  41. /// <param name="bucketName"><see cref="OssObject"/></param>
  42. /// <param name="refererList">referer列表</param>
  43. public SetBucketRefererRequest(string bucketName, IList<string> refererList)
  44. : this(bucketName, refererList, true)
  45. { }
  46. /// <summary>
  47. /// 使用指定的referer列表、是否允许referer为空的请求访问的构造函数。
  48. /// </summary>
  49. /// <param name="bucketName"><see cref="OssObject"/></param>
  50. /// <param name="refererList">referer列表</param>
  51. /// <param name="allowEmptyReferer">是否允许referer为空的请求访问</param>
  52. public SetBucketRefererRequest(string bucketName, IEnumerable<string> refererList,
  53. bool allowEmptyReferer)
  54. {
  55. if (refererList != null)
  56. {
  57. foreach (var referer in refererList)
  58. {
  59. if (string.IsNullOrEmpty(referer))
  60. continue;
  61. _refererList.Add(referer);
  62. }
  63. }
  64. BucketName = bucketName;
  65. AllowEmptyReferer = allowEmptyReferer;
  66. }
  67. /// <summary>
  68. /// 清空referer列表。
  69. /// </summary>
  70. public void ClearRefererList()
  71. {
  72. RefererList.Clear();
  73. }
  74. }
  75. }