using System; using System.Collections.Generic; using System.Text; using COSXML.Common; using COSXML.Model.Tag; using COSXML.Network; using COSXML.CosException; namespace COSXML.Model.Bucket { /// /// 设置 Bucket CORS /// /// public sealed class PutBucketCORSRequest : BucketRequest { /// /// CORS 配置信息 /// /// private CORSConfiguration corsConfiguration; public PutBucketCORSRequest(string bucket) : base(bucket) { this.method = CosRequestMethod.PUT; this.queryParameters.Add("cors", null); corsConfiguration = new CORSConfiguration(); corsConfiguration.corsRules = new List(); } public override Network.RequestBody GetRequestBody() { return GetXmlRequestBody(corsConfiguration); } /// /// 设置 CORS 规则 /// /// /// public void SetCORSRule(CORSConfiguration.CORSRule corsRule) { if (corsRule != null) { corsConfiguration.corsRules.Add(corsRule); } } /// /// 设置 CORS 规则 /// /// /// public void SetCORSRules(List corsRules) { if (corsRules != null) { corsConfiguration.corsRules.AddRange(corsRules); } } public override void CheckParameters() { base.CheckParameters(); if (corsConfiguration.corsRules.Count == 0) { throw new CosClientException((int)CosClientError.InvalidArgument, "corsConfiguration.corsRules.Count = 0"); } } } }