public override void Validate()
{
base.Validate();
if (this.ForcePathStyle && this.UseAccelerateEndpoint)
{
throw new AmazonClientException(
@"S3 accelerate is not compatible with Path style requests. Disable Path style requests" +
" using AmazonS3Config.ForcePathStyle property to use S3 accelerate.");
}
var isExplicitAccelerateEndpoint = !string.IsNullOrEmpty(this.ServiceURL) &&
(this.ServiceURL.IndexOf(_accelerateEndpoint, StringComparison.OrdinalIgnoreCase) >= 0 ||
this.ServiceURL.IndexOf(_accelerateDualstackEndpoint, StringComparison.OrdinalIgnoreCase) >= 0);
if (isExplicitAccelerateEndpoint)
{
if (this.RegionEndpoint == null && string.IsNullOrEmpty(this.AuthenticationRegion))
{
throw new AmazonClientException(
@"Specify a region using AmazonS3Config.RegionEndpoint or AmazonS3Config.AuthenticationRegion" +
" to use S3 accelerate.");
}
else
{
if (this.RegionEndpoint == null && !string.IsNullOrEmpty(this.AuthenticationRegion))
{
this.RegionEndpoint = RegionEndpoint.GetBySystemName(this.AuthenticationRegion);
}
this.UseAccelerateEndpoint = true;
}
}
}