12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /*
- * Copyright (C) Alibaba Cloud Computing
- * All rights reserved.
- *
- * 版权所有 (C)阿里云计算有限公司
- */
- using System.Collections.Generic;
- namespace Aliyun.OSS
- {
- /// <summary>
- /// 设置指定Bucket的Referer白名单和是否允许referer字段为空的请求。
- /// </summary>
- public class SetBucketRefererRequest
- {
- private readonly IList<string> _refererList = new List<string>();
-
- /// <summary>
- /// 获取或者设置<see cref="OssObject" />所在<see cref="Bucket" />的名称。
- /// </summary>
- public string BucketName { get; private set; }
- /// <summary>
- /// 指定是否允许referer字段为空的请求访问。
- /// </summary>
- public bool AllowEmptyReferer { get; private set; }
-
- /// <summary>
- /// 获取或者设置需要删除的referer列表。
- /// </summary>
- public IList<string> RefererList
- {
- get { return _refererList; }
- }
- /// <summary>
- /// 使用空的referer列表、允许referer为空的请求访问的构造函数。
- /// </summary>
- /// <param name="bucketName"><see cref="OssObject"/></param>
- public SetBucketRefererRequest(string bucketName)
- : this(bucketName, null, true)
- { }
- /// <summary>
- /// 使用指定的referer列表、允许referer为空的请求访问的构造函数。
- /// </summary>
- /// <param name="bucketName"><see cref="OssObject"/></param>
- /// <param name="refererList">referer列表</param>
- public SetBucketRefererRequest(string bucketName, IList<string> refererList)
- : this(bucketName, refererList, true)
- { }
- /// <summary>
- /// 使用指定的referer列表、是否允许referer为空的请求访问的构造函数。
- /// </summary>
- /// <param name="bucketName"><see cref="OssObject"/></param>
- /// <param name="refererList">referer列表</param>
- /// <param name="allowEmptyReferer">是否允许referer为空的请求访问</param>
- public SetBucketRefererRequest(string bucketName, IEnumerable<string> refererList,
- bool allowEmptyReferer)
- {
- if (refererList != null)
- {
- foreach (var referer in refererList)
- {
- if (string.IsNullOrEmpty(referer))
- continue;
- _refererList.Add(referer);
- }
- }
- BucketName = bucketName;
- AllowEmptyReferer = allowEmptyReferer;
- }
- /// <summary>
- /// 清空referer列表。
- /// </summary>
- public void ClearRefererList()
- {
- RefererList.Clear();
- }
- }
- }
|