using System;
using System.Collections.Generic;
using System.Text;
namespace COSXML.Model.Object
{
///
/// 实现 Object 跨域访问配置的预请求
///
///
public sealed class OptionObjectResult : CosResult
{
///
/// 跨域访问的请求来源域名
///
public string accessControlAllowOrigin;
///
/// OPTIONS 请求得到结果的有效期
///
public long accessControlMaxAge;
///
/// 跨域访问的允许请求头部
///
public List accessControlAllowHeaders;
///
/// 跨域访问的允许请求 HTTP 方法
///
public List accessControlAllowMethods;
///
/// 跨域访问的允许请求自定义头部
///
public List accessControlAllowExposeHeaders;
internal override void InternalParseResponseHeaders()
{
List values;
this.responseHeaders.TryGetValue("Access-Control-Allow-Origin", out values);
if (values != null && values.Count > 0)
{
accessControlAllowOrigin = values[0];
}
this.responseHeaders.TryGetValue("Access-Control-Max-Age", out values);
if (values != null && values.Count > 0)
{
long.TryParse(values[0], out accessControlMaxAge);
}
this.responseHeaders.TryGetValue("Access-Control-Allow-Methods", out values);
if (values != null && values.Count > 0)
{
accessControlAllowMethods = new List(values[0].Split(','));
}
this.responseHeaders.TryGetValue("Access-Control-Allow-Headers", out values);
if (values != null && values.Count > 0)
{
accessControlAllowHeaders = new List(values[0].Split(','));
}
this.responseHeaders.TryGetValue("Access-Control-Expose-Headers", out values);
if (values != null && values.Count > 0)
{
accessControlAllowExposeHeaders = new List(values[0].Split(','));
}
}
public override string GetResultInfo()
{
return base.GetResultInfo() + "\n" + accessControlAllowOrigin;
}
}
}