/// <summary> /// Initializes a new instance of the <see cref="CloudQueueClient"/> class. /// </summary> /// <param name="usePathStyleUris">True to use path style Uris.</param> /// <param name="baseAddressUri">The base address Uri.</param> /// <param name="credentials">The credentials.</param> internal CloudQueueClient(bool?usePathStyleUris, Uri baseAddressUri, StorageCredentials credentials) { CommonUtils.AssertNotNull("baseAddress", baseAddressUri); CommonUtils.AssertNotNull("credentials", credentials); if (!credentials.CanSignRequest) { throw new ArgumentException(SR.CredentialsCantSignRequest, "credentials"); } this.BaseUri = baseAddressUri; if (!this.BaseUri.IsAbsoluteUri) { CommonUtils.ArgumentOutOfRange("baseAddress", baseAddressUri); } this.Timeout = Constants.DefaultClientSideTimeout; this.RetryPolicy = RetryPolicies.RetryExponential(RetryPolicies.DefaultClientRetryCount, RetryPolicies.DefaultClientBackoff); this.Credentials = credentials; if (usePathStyleUris.HasValue) { this.UsePathStyleUris = usePathStyleUris.Value; } else { // Automatically decide whether to use host style uri or path style uri this.UsePathStyleUris = CommonUtils.UsePathStyleAddressing(this.BaseUri); } }