def create_configuration(**kwargs): # type: (**Any) -> Configuration config = Configuration(**kwargs) config.headers_policy = StorageHeadersPolicy(**kwargs) config.user_agent_policy = UserAgentPolicy( sdk_moniker="storage-{}/{}".format(kwargs.pop('storage_sdk'), VERSION), **kwargs) config.retry_policy = kwargs.get("retry_policy") or ExponentialRetry( **kwargs) config.logging_policy = StorageLoggingPolicy(**kwargs) config.proxy_policy = ProxyPolicy(**kwargs) # Storage settings config.max_single_put_size = kwargs.get("max_single_put_size", 64 * 1024 * 1024) config.copy_polling_interval = 15 # Block blob uploads config.max_block_size = kwargs.get("max_block_size", 4 * 1024 * 1024) config.min_large_block_upload_threshold = kwargs.get( "min_large_block_upload_threshold", 4 * 1024 * 1024 + 1) config.use_byte_buffer = kwargs.get("use_byte_buffer", False) # Page blob uploads config.max_page_size = kwargs.get("max_page_size", 4 * 1024 * 1024) # Blob downloads config.max_single_get_size = kwargs.get("max_single_get_size", 32 * 1024 * 1024) config.max_chunk_get_size = kwargs.get("max_chunk_get_size", 4 * 1024 * 1024) # File uploads config.max_range_size = kwargs.get("max_range_size", 4 * 1024 * 1024) return config
def _create_configuration(self, **kwargs): # pylint: disable=no-self-use config = Configuration(**kwargs) config.user_agent_policy = kwargs.get('user_agent_policy') or \ UserAgentPolicy(base_user_agent=USER_AGENT, **kwargs) config.headers_policy = kwargs.get('headers_policy') or HeadersPolicy(**kwargs) config.proxy_policy = kwargs.get('proxy_policy') or ProxyPolicy(**kwargs) config.logging_policy = kwargs.get('logging_policy') or NetworkTraceLoggingPolicy(**kwargs) return config
def _create_configuration(self, **kwargs): # pylint: disable=no-self-use config = Configuration(**kwargs) config.user_agent_policy = kwargs.get("user_agent_policy") or UserAgentPolicy(**kwargs) config.headers_policy = kwargs.get("headers_policy") or HeadersPolicy(**kwargs) config.proxy_policy = kwargs.get("proxy_policy") or ProxyPolicy(**kwargs) config.logging_policy = kwargs.get("logging_policy") or NetworkTraceLoggingPolicy(**kwargs) config.retry_policy = kwargs.get("retry_policy") or RetryPolicy(**kwargs) config.redirect_policy = kwargs.get("redirect_policy") or RedirectPolicy(**kwargs) return config
def _get_config(**kwargs): """Configuration common to a/sync pipelines""" config = Configuration(**kwargs) config.custom_hook_policy = CustomHookPolicy(**kwargs) config.headers_policy = HeadersPolicy(**kwargs) config.http_logging_policy = HttpLoggingPolicy(**kwargs) config.logging_policy = NetworkTraceLoggingPolicy(**kwargs) config.proxy_policy = ProxyPolicy(**kwargs) config.user_agent_policy = UserAgentPolicy(base_user_agent=USER_AGENT, **kwargs) return config
def create_config(**kwargs): # type: (Any) -> Configuration config = Configuration(**kwargs) config.user_agent_policy = UserAgentPolicy("KeyClient", **kwargs) config.headers_policy = None config.retry_policy = RetryPolicy(**kwargs) config.redirect_policy = RedirectPolicy(**kwargs) # TODO: these are requests-specific config.cert = config.timeout = None config.verify = True return config
def _create_config(**kwargs): # type: (**Any) -> Configuration """Build a default configuration for the credential's HTTP pipeline.""" timeout = kwargs.pop("connection_timeout", 2) config = Configuration(connection_timeout=timeout, **kwargs) # retry is the only IO policy, so its class is a kwarg to increase async code sharing retry_policy = kwargs.pop("retry_policy", RetryPolicy) # type: ignore args = kwargs.copy() # combine kwargs and default retry settings in a Python 2-compatible way args.update(_ManagedIdentityBase._retry_settings) # type: ignore config.retry_policy = retry_policy(**args) # type: ignore # Metadata header is required by IMDS and in Cloud Shell; App Service ignores it config.headers_policy = HeadersPolicy(base_headers={"Metadata": "true"}, **kwargs) config.logging_policy = NetworkTraceLoggingPolicy(**kwargs) config.user_agent_policy = UserAgentPolicy(base_user_agent=USER_AGENT, **kwargs) return config
def _create_config(credential, scopes, **kwargs): # Here the SDK developer would define the default # config to interact with the service config = Configuration(**kwargs) config.headers_policy = kwargs.get( 'headers_policy', HeadersPolicy({"CustomHeader": "Value"}, **kwargs)) config.user_agent_policy = kwargs.get( 'user_agent_policy', UserAgentPolicy("ServiceUserAgentValue", **kwargs)) config.authentication_policy = kwargs.get( 'authentication_policy', BearerTokenCredentialPolicy(credential, scopes, **kwargs)) config.retry_policy = kwargs.get('retry_policy', RetryPolicy(**kwargs)) config.redirect_policy = kwargs.get('redirect_policy', RedirectPolicy(**kwargs)) config.logging_policy = kwargs.get('logging_policy', NetworkTraceLoggingPolicy(**kwargs)) config.proxy_policy = kwargs.get('proxy_policy', ProxyPolicy(**kwargs)) return config
def test_example_headers_policy(): url = "https://bing.com" config = Configuration() config.user_agent_policy = UserAgentPolicy("myusergant") config.redirect_policy = RedirectPolicy() # [START headers_policy] from azure.core.pipeline.policies import HeadersPolicy config.headers_policy = HeadersPolicy() config.headers_policy.add_header('CustomValue', 'Foo') # Or headers can be added per operation. These headers will supplement existing headers # or those defined in the config headers policy. They will also overwrite existing # identical headers. client = PipelineClient(base_url=url, config=config) request = client.get(url) pipeline_response = client._pipeline.run(request, headers={'CustomValue': 'Bar'}) # [END headers_policy] response = pipeline_response.http_response assert response.status_code == 200