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
Exemple #5
0
    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
Exemple #8
0
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