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