py2docfx 0.1.9.dev1897607__py3-none-any.whl → 0.1.9.dev1926139__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2docfx/__main__.py +77 -22
- py2docfx/convert_prepare/environment.py +59 -19
- py2docfx/convert_prepare/generate_document.py +12 -5
- py2docfx/convert_prepare/get_source.py +5 -1
- py2docfx/convert_prepare/git.py +24 -20
- py2docfx/convert_prepare/package_info.py +15 -9
- py2docfx/convert_prepare/pip_utils.py +29 -8
- py2docfx/convert_prepare/post_process/merge_toc.py +5 -1
- py2docfx/convert_prepare/sphinx_caller.py +31 -14
- py2docfx/convert_prepare/tests/test_generate_document.py +6 -4
- py2docfx/convert_prepare/tests/test_get_source.py +6 -6
- py2docfx/convert_prepare/tests/test_params.py +1 -1
- py2docfx/convert_prepare/tests/test_sphinx_caller.py +5 -3
- py2docfx/convert_prepare/tests/utils.py +11 -0
- py2docfx/docfx_yaml/build_finished.py +11 -3
- py2docfx/docfx_yaml/convert_class.py +4 -2
- py2docfx/docfx_yaml/convert_enum.py +4 -2
- py2docfx/docfx_yaml/convert_module.py +4 -2
- py2docfx/docfx_yaml/convert_package.py +4 -2
- py2docfx/docfx_yaml/logger.py +68 -0
- py2docfx/docfx_yaml/process_doctree.py +6 -4
- py2docfx/docfx_yaml/translator.py +5 -7
- py2docfx/docfx_yaml/writer.py +10 -4
- py2docfx/docfx_yaml/yaml_builder.py +0 -1
- py2docfx/venv/basevenv/Lib/site-packages/_distutils_hack/__init__.py +2 -3
- py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +15 -9
- py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +83 -24
- py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +78 -29
- py2docfx/venv/basevenv/Lib/site-packages/packaging/utils.py +33 -44
- py2docfx/venv/basevenv/Lib/site-packages/packaging/version.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +27 -32
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +7 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_importlib.py +1 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +5 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +53 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/archive_util.py +6 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +25 -19
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/__init__.py +9 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/alias.py +3 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +43 -84
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_clib.py +2 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +15 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_py.py +26 -30
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/dist_info.py +3 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +57 -80
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +21 -23
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +32 -32
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_egg_info.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_lib.py +10 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/rotate.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/saveopts.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +11 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/setopt.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/expand.py +22 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/pyprojecttoml.py +12 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/depends.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/discovery.py +21 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +51 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/errors.py +21 -26
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/extension.py +18 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/glob.py +35 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +6 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/launch.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/logging.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/modified.py +16 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/monkey.py +5 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +35 -24
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/namespaces.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +42 -43
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +19 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +171 -76
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/unicode_utils.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/warnings.py +5 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
- py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +17 -2
- py2docfx/venv/basevenv/Lib/site-packages/wheel/cli/convert.py +279 -220
- py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -9
- py2docfx/venv/venv1/Lib/site-packages/_distutils_hack/__init__.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +13 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +16 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +15 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +20 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +55 -19
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +46 -15
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +8 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +9 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +27 -8
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +6 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +6 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +101 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +7 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +11 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +11 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +47 -16
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +15 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +15 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +12 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +24 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +119 -110
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +10 -1
- py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +41 -39
- py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +17 -11
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +17 -13
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +25 -8
- py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +34 -16
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +10 -2
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/__init__.py +3 -2
- py2docfx/venv/venv1/Lib/site-packages/jwt/algorithms.py +31 -16
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jws.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwt.py +75 -19
- py2docfx/venv/venv1/Lib/site-packages/jwt/exceptions.py +8 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/help.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/jwt/jwks_client.py +4 -2
- py2docfx/venv/venv1/Lib/site-packages/jwt/utils.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +27 -32
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +18 -21
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +7 -3
- py2docfx/venv/venv1/Lib/site-packages/proto/message.py +6 -35
- py2docfx/venv/venv1/Lib/site-packages/proto/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +7 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_importlib.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +5 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/archive_util.py +6 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +25 -19
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/__init__.py +9 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/alias.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +43 -84
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_clib.py +2 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +15 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_py.py +26 -30
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/dist_info.py +3 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +57 -80
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +21 -23
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +32 -32
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_egg_info.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_lib.py +10 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/rotate.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/saveopts.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +11 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/setopt.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/expand.py +22 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/pyprojecttoml.py +12 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/depends.py +26 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/discovery.py +21 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +51 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/errors.py +21 -26
- py2docfx/venv/venv1/Lib/site-packages/setuptools/extension.py +18 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/glob.py +35 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/launch.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/logging.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/modified.py +16 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/monkey.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +35 -24
- py2docfx/venv/venv1/Lib/site-packages/setuptools/namespaces.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +42 -43
- py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +19 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +171 -76
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/unicode_utils.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/warnings.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +17 -2
- py2docfx/venv/venv1/Lib/site-packages/wheel/cli/convert.py +279 -220
- py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -9
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/METADATA +1 -1
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/RECORD +327 -385
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/WHEEL +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
- /py2docfx/convert_prepare/conf_templates/{master_doc.rst_t → root_doc.rst_t} +0 -0
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/top_level.txt +0 -0
@@ -97,7 +97,7 @@ def raise_with_traceback(exception: Callable, *args: Any, message: str = "", **k
|
|
97
97
|
exc_msg = "{}, {}: {}".format(message, exc_type.__name__, exc_value)
|
98
98
|
error = exception(exc_msg, *args, **kwargs)
|
99
99
|
try:
|
100
|
-
raise error.with_traceback(exc_traceback)
|
100
|
+
raise error.with_traceback(exc_traceback)
|
101
101
|
except AttributeError: # Python 2
|
102
102
|
error.__traceback__ = exc_traceback
|
103
103
|
raise error # pylint: disable=raise-missing-from
|
@@ -150,7 +150,9 @@ class ErrorMap(Generic[KeyType, ValueType]):
|
|
150
150
|
|
151
151
|
|
152
152
|
def map_error(
|
153
|
-
status_code: int,
|
153
|
+
status_code: int,
|
154
|
+
response: _HttpResponseCommonAPI,
|
155
|
+
error_map: Mapping[int, Type[HttpResponseError]],
|
154
156
|
) -> None:
|
155
157
|
if not error_map:
|
156
158
|
return
|
@@ -309,7 +311,7 @@ class AzureError(Exception):
|
|
309
311
|
This method is deprecated as we don't support Python 2 anymore. Use raise/from instead.
|
310
312
|
"""
|
311
313
|
try:
|
312
|
-
raise super(AzureError, self).with_traceback(self.exc_traceback)
|
314
|
+
raise super(AzureError, self).with_traceback(self.exc_traceback)
|
313
315
|
except AttributeError:
|
314
316
|
self.__traceback__: Optional[TracebackType] = self.exc_traceback
|
315
317
|
raise self # pylint: disable=raise-missing-from
|
@@ -355,7 +357,10 @@ class HttpResponseError(AzureError):
|
|
355
357
|
"""
|
356
358
|
|
357
359
|
def __init__(
|
358
|
-
self,
|
360
|
+
self,
|
361
|
+
message: Optional[object] = None,
|
362
|
+
response: Optional[_HttpResponseCommonAPI] = None,
|
363
|
+
**kwargs: Any,
|
359
364
|
) -> None:
|
360
365
|
# Don't want to document this one yet.
|
361
366
|
error_format = kwargs.get("error_format", ODataV4Format)
|
@@ -453,7 +458,10 @@ class TooManyRedirectsError(HttpResponseError, Generic[HTTPRequestType, HTTPResp
|
|
453
458
|
"""
|
454
459
|
|
455
460
|
def __init__(
|
456
|
-
self,
|
461
|
+
self,
|
462
|
+
history: "List[RequestHistory[HTTPRequestType, HTTPResponseType]]",
|
463
|
+
*args: Any,
|
464
|
+
**kwargs: Any,
|
457
465
|
) -> None:
|
458
466
|
self.history = history
|
459
467
|
message = "Reached maximum redirect attempts."
|
@@ -22,7 +22,7 @@ _Unset: Any = object()
|
|
22
22
|
DataType = TypeVar("DataType")
|
23
23
|
|
24
24
|
|
25
|
-
class CloudEvent(Generic[DataType]):
|
25
|
+
class CloudEvent(Generic[DataType]):
|
26
26
|
"""Properties of the CloudEvent 1.0 Schema.
|
27
27
|
All required parameters must be populated in order to send to Azure.
|
28
28
|
|
@@ -57,13 +57,13 @@ class CloudEvent(Generic[DataType]): # pylint:disable=too-many-instance-attribu
|
|
57
57
|
"""Identifies the context in which an event happened. The combination of id and source must
|
58
58
|
be unique for each distinct event. If publishing to a domain topic, source must be the domain topic name."""
|
59
59
|
|
60
|
-
type: str
|
60
|
+
type: str
|
61
61
|
"""Type of event related to the originating occurrence."""
|
62
62
|
|
63
63
|
specversion: str = "1.0"
|
64
64
|
"""The version of the CloudEvent spec. Defaults to "1.0" """
|
65
65
|
|
66
|
-
id: str
|
66
|
+
id: str
|
67
67
|
"""An identifier for the event. The combination of id and source must be
|
68
68
|
unique for each distinct event. If not provided, a random UUID will be generated and used."""
|
69
69
|
|
@@ -24,7 +24,18 @@
|
|
24
24
|
#
|
25
25
|
# --------------------------------------------------------------------------
|
26
26
|
|
27
|
-
from typing import
|
27
|
+
from typing import (
|
28
|
+
TypeVar,
|
29
|
+
Generic,
|
30
|
+
Dict,
|
31
|
+
Any,
|
32
|
+
Tuple,
|
33
|
+
List,
|
34
|
+
Optional,
|
35
|
+
overload,
|
36
|
+
TYPE_CHECKING,
|
37
|
+
Union,
|
38
|
+
)
|
28
39
|
|
29
40
|
HTTPResponseType = TypeVar("HTTPResponseType", covariant=True) # pylint: disable=typevar-name-incorrect-variance
|
30
41
|
HTTPRequestType = TypeVar("HTTPRequestType", covariant=True) # pylint: disable=typevar-name-incorrect-variance
|
@@ -50,9 +61,7 @@ class PipelineContext(Dict[str, Any]):
|
|
50
61
|
|
51
62
|
_PICKLE_CONTEXT = {"deserialized_data"}
|
52
63
|
|
53
|
-
def __init__(
|
54
|
-
self, transport: Optional["TransportType"], **kwargs: Any
|
55
|
-
) -> None: # pylint: disable=super-init-not-called
|
64
|
+
def __init__(self, transport: Optional["TransportType"], **kwargs: Any) -> None:
|
56
65
|
self.transport: Optional["TransportType"] = transport
|
57
66
|
self.options = kwargs
|
58
67
|
self._protected = ["transport", "options"]
|
@@ -95,7 +104,9 @@ class PipelineContext(Dict[str, Any]):
|
|
95
104
|
raise ValueError("Context value {} cannot be deleted.".format(key))
|
96
105
|
return super(PipelineContext, self).__delitem__(key)
|
97
106
|
|
98
|
-
def clear(
|
107
|
+
def clear( # pylint: disable=docstring-missing-return, docstring-missing-rtype
|
108
|
+
self,
|
109
|
+
) -> None:
|
99
110
|
"""Context objects cannot be cleared.
|
100
111
|
|
101
112
|
:raises: TypeError
|
@@ -25,7 +25,17 @@
|
|
25
25
|
# --------------------------------------------------------------------------
|
26
26
|
from __future__ import annotations
|
27
27
|
import logging
|
28
|
-
from typing import
|
28
|
+
from typing import (
|
29
|
+
Generic,
|
30
|
+
TypeVar,
|
31
|
+
Union,
|
32
|
+
Any,
|
33
|
+
List,
|
34
|
+
Dict,
|
35
|
+
Optional,
|
36
|
+
Iterable,
|
37
|
+
ContextManager,
|
38
|
+
)
|
29
39
|
from azure.core.pipeline import (
|
30
40
|
PipelineRequest,
|
31
41
|
PipelineResponse,
|
@@ -84,7 +94,7 @@ class _SansIOHTTPPolicyRunner(HTTPPolicy[HTTPRequestType, HTTPResponseType]):
|
|
84
94
|
_await_result(self._policy.on_request, request)
|
85
95
|
try:
|
86
96
|
response = self.next.send(request)
|
87
|
-
except Exception:
|
97
|
+
except Exception:
|
88
98
|
_await_result(self._policy.on_exception, request)
|
89
99
|
raise
|
90
100
|
_await_result(self._policy.on_response, request, response)
|
@@ -146,7 +156,8 @@ class Pipeline(ContextManager["Pipeline"], Generic[HTTPRequestType, HTTPResponse
|
|
146
156
|
policies: Optional[
|
147
157
|
Iterable[
|
148
158
|
Union[
|
149
|
-
HTTPPolicy[HTTPRequestType, HTTPResponseType],
|
159
|
+
HTTPPolicy[HTTPRequestType, HTTPResponseType],
|
160
|
+
SansIOHTTPPolicy[HTTPRequestType, HTTPResponseType],
|
150
161
|
]
|
151
162
|
]
|
152
163
|
] = None,
|
@@ -168,7 +179,7 @@ class Pipeline(ContextManager["Pipeline"], Generic[HTTPRequestType, HTTPResponse
|
|
168
179
|
self._transport.__enter__()
|
169
180
|
return self
|
170
181
|
|
171
|
-
def __exit__(self, *exc_details: Any) -> None:
|
182
|
+
def __exit__(self, *exc_details: Any) -> None:
|
172
183
|
self._transport.__exit__(*exc_details)
|
173
184
|
|
174
185
|
@staticmethod
|
@@ -25,7 +25,18 @@
|
|
25
25
|
# --------------------------------------------------------------------------
|
26
26
|
from __future__ import annotations
|
27
27
|
from types import TracebackType
|
28
|
-
from typing import
|
28
|
+
from typing import (
|
29
|
+
Any,
|
30
|
+
Union,
|
31
|
+
Generic,
|
32
|
+
TypeVar,
|
33
|
+
List,
|
34
|
+
Dict,
|
35
|
+
Optional,
|
36
|
+
Iterable,
|
37
|
+
Type,
|
38
|
+
AsyncContextManager,
|
39
|
+
)
|
29
40
|
|
30
41
|
from azure.core.pipeline import PipelineRequest, PipelineResponse, PipelineContext
|
31
42
|
from azure.core.pipeline.policies import AsyncHTTPPolicy, SansIOHTTPPolicy
|
@@ -37,9 +48,7 @@ AsyncHTTPResponseType = TypeVar("AsyncHTTPResponseType")
|
|
37
48
|
HTTPRequestType = TypeVar("HTTPRequestType")
|
38
49
|
|
39
50
|
|
40
|
-
class _SansIOAsyncHTTPPolicyRunner(
|
41
|
-
AsyncHTTPPolicy[HTTPRequestType, AsyncHTTPResponseType]
|
42
|
-
): # pylint: disable=unsubscriptable-object
|
51
|
+
class _SansIOAsyncHTTPPolicyRunner(AsyncHTTPPolicy[HTTPRequestType, AsyncHTTPResponseType]):
|
43
52
|
"""Async implementation of the SansIO policy.
|
44
53
|
|
45
54
|
Modifies the request and sends to the next policy in the chain.
|
@@ -66,16 +75,14 @@ class _SansIOAsyncHTTPPolicyRunner(
|
|
66
75
|
response: PipelineResponse[HTTPRequestType, AsyncHTTPResponseType]
|
67
76
|
try:
|
68
77
|
response = await self.next.send(request)
|
69
|
-
except Exception:
|
78
|
+
except Exception:
|
70
79
|
await _await_result(self._policy.on_exception, request)
|
71
80
|
raise
|
72
81
|
await _await_result(self._policy.on_response, request, response)
|
73
82
|
return response
|
74
83
|
|
75
84
|
|
76
|
-
class _AsyncTransportRunner(
|
77
|
-
AsyncHTTPPolicy[HTTPRequestType, AsyncHTTPResponseType]
|
78
|
-
): # pylint: disable=unsubscriptable-object
|
85
|
+
class _AsyncTransportRunner(AsyncHTTPPolicy[HTTPRequestType, AsyncHTTPResponseType]):
|
79
86
|
"""Async Transport runner.
|
80
87
|
|
81
88
|
Uses specified HTTP transport type to send request and returns response.
|
@@ -106,7 +113,10 @@ class _AsyncTransportRunner(
|
|
106
113
|
)
|
107
114
|
|
108
115
|
|
109
|
-
class AsyncPipeline(
|
116
|
+
class AsyncPipeline(
|
117
|
+
AsyncContextManager["AsyncPipeline"],
|
118
|
+
Generic[HTTPRequestType, AsyncHTTPResponseType],
|
119
|
+
):
|
110
120
|
"""Async pipeline implementation.
|
111
121
|
|
112
122
|
This is implemented as a context manager, that will activate the context
|
@@ -126,7 +136,7 @@ class AsyncPipeline(AsyncContextManager["AsyncPipeline"], Generic[HTTPRequestTyp
|
|
126
136
|
:caption: Builds the async pipeline for asynchronous transport.
|
127
137
|
"""
|
128
138
|
|
129
|
-
def __init__(
|
139
|
+
def __init__(
|
130
140
|
self,
|
131
141
|
transport: AsyncHttpTransport[HTTPRequestType, AsyncHTTPResponseType],
|
132
142
|
policies: Optional[
|
@@ -52,7 +52,9 @@ def await_result(func: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> T:
|
|
52
52
|
return result
|
53
53
|
|
54
54
|
|
55
|
-
def is_rest(
|
55
|
+
def is_rest(
|
56
|
+
obj: object,
|
57
|
+
) -> TypeGuard[Union[HttpRequest, HttpResponse, AsyncHttpResponse]]:
|
56
58
|
"""Return whether a request or a response is a rest request / response.
|
57
59
|
|
58
60
|
Checking whether the response has the object content can sometimes result
|
@@ -4,16 +4,26 @@
|
|
4
4
|
# license information.
|
5
5
|
# -------------------------------------------------------------------------
|
6
6
|
import time
|
7
|
+
import base64
|
7
8
|
from typing import TYPE_CHECKING, Optional, TypeVar, MutableMapping, Any, Union, cast
|
8
|
-
from azure.core.credentials import
|
9
|
+
from azure.core.credentials import (
|
10
|
+
TokenCredential,
|
11
|
+
SupportsTokenInfo,
|
12
|
+
TokenRequestOptions,
|
13
|
+
TokenProvider,
|
14
|
+
)
|
9
15
|
from azure.core.pipeline import PipelineRequest, PipelineResponse
|
10
|
-
from azure.core.pipeline.transport import
|
16
|
+
from azure.core.pipeline.transport import (
|
17
|
+
HttpResponse as LegacyHttpResponse,
|
18
|
+
HttpRequest as LegacyHttpRequest,
|
19
|
+
)
|
11
20
|
from azure.core.rest import HttpResponse, HttpRequest
|
12
21
|
from . import HTTPPolicy, SansIOHTTPPolicy
|
13
22
|
from ...exceptions import ServiceRequestError
|
23
|
+
from ._utils import get_challenge_parameter
|
14
24
|
|
15
25
|
if TYPE_CHECKING:
|
16
|
-
|
26
|
+
|
17
27
|
from azure.core.credentials import (
|
18
28
|
AccessToken,
|
19
29
|
AccessTokenInfo,
|
@@ -74,13 +84,7 @@ class _BearerTokenCredentialPolicyBase:
|
|
74
84
|
refresh_on = getattr(self._token, "refresh_on", None)
|
75
85
|
return not self._token or (refresh_on and refresh_on <= now) or self._token.expires_on - now < 300
|
76
86
|
|
77
|
-
def
|
78
|
-
"""Request a new token from the credential.
|
79
|
-
|
80
|
-
This will call the credential's appropriate method to get a token and store it in the policy.
|
81
|
-
|
82
|
-
:param str scopes: The type of access needed.
|
83
|
-
"""
|
87
|
+
def _get_token(self, *scopes: str, **kwargs: Any) -> Union["AccessToken", "AccessTokenInfo"]:
|
84
88
|
if self._enable_cae:
|
85
89
|
kwargs.setdefault("enable_cae", self._enable_cae)
|
86
90
|
|
@@ -88,12 +92,20 @@ class _BearerTokenCredentialPolicyBase:
|
|
88
92
|
options: TokenRequestOptions = {}
|
89
93
|
# Loop through all the keyword arguments and check if they are part of the TokenRequestOptions.
|
90
94
|
for key in list(kwargs.keys()):
|
91
|
-
if key in TokenRequestOptions.__annotations__: # pylint:disable=no-member
|
95
|
+
if key in TokenRequestOptions.__annotations__: # pylint: disable=no-member
|
92
96
|
options[key] = kwargs.pop(key) # type: ignore[literal-required]
|
93
97
|
|
94
|
-
|
95
|
-
|
96
|
-
|
98
|
+
return cast(SupportsTokenInfo, self._credential).get_token_info(*scopes, options=options)
|
99
|
+
return cast(TokenCredential, self._credential).get_token(*scopes, **kwargs)
|
100
|
+
|
101
|
+
def _request_token(self, *scopes: str, **kwargs: Any) -> None:
|
102
|
+
"""Request a new token from the credential.
|
103
|
+
|
104
|
+
This will call the credential's appropriate method to get a token and store it in the policy.
|
105
|
+
|
106
|
+
:param str scopes: The type of access needed.
|
107
|
+
"""
|
108
|
+
self._token = self._get_token(*scopes, **kwargs)
|
97
109
|
|
98
110
|
|
99
111
|
class BearerTokenCredentialPolicy(_BearerTokenCredentialPolicyBase, HTTPPolicy[HTTPRequestType, HTTPResponseType]):
|
@@ -145,7 +157,7 @@ class BearerTokenCredentialPolicy(_BearerTokenCredentialPolicyBase, HTTPPolicy[H
|
|
145
157
|
self.on_request(request)
|
146
158
|
try:
|
147
159
|
response = self.next.send(request)
|
148
|
-
except Exception:
|
160
|
+
except Exception:
|
149
161
|
self.on_exception(request)
|
150
162
|
raise
|
151
163
|
|
@@ -162,14 +174,16 @@ class BearerTokenCredentialPolicy(_BearerTokenCredentialPolicyBase, HTTPPolicy[H
|
|
162
174
|
try:
|
163
175
|
response = self.next.send(request)
|
164
176
|
self.on_response(request, response)
|
165
|
-
except Exception:
|
177
|
+
except Exception:
|
166
178
|
self.on_exception(request)
|
167
179
|
raise
|
168
180
|
|
169
181
|
return response
|
170
182
|
|
171
183
|
def on_challenge(
|
172
|
-
self,
|
184
|
+
self,
|
185
|
+
request: PipelineRequest[HTTPRequestType],
|
186
|
+
response: PipelineResponse[HTTPRequestType, HTTPResponseType],
|
173
187
|
) -> bool:
|
174
188
|
"""Authorize request according to an authentication challenge
|
175
189
|
|
@@ -181,10 +195,28 @@ class BearerTokenCredentialPolicy(_BearerTokenCredentialPolicyBase, HTTPPolicy[H
|
|
181
195
|
:rtype: bool
|
182
196
|
"""
|
183
197
|
# pylint:disable=unused-argument
|
198
|
+
headers = response.http_response.headers
|
199
|
+
error = get_challenge_parameter(headers, "Bearer", "error")
|
200
|
+
if error == "insufficient_claims":
|
201
|
+
encoded_claims = get_challenge_parameter(headers, "Bearer", "claims")
|
202
|
+
if not encoded_claims:
|
203
|
+
return False
|
204
|
+
try:
|
205
|
+
padding_needed = -len(encoded_claims) % 4
|
206
|
+
claims = base64.urlsafe_b64decode(encoded_claims + "=" * padding_needed).decode("utf-8")
|
207
|
+
if claims:
|
208
|
+
token = self._get_token(*self._scopes, claims=claims)
|
209
|
+
bearer_token = cast(Union["AccessToken", "AccessTokenInfo"], token).token
|
210
|
+
request.http_request.headers["Authorization"] = "Bearer " + bearer_token
|
211
|
+
return True
|
212
|
+
except Exception: # pylint:disable=broad-except
|
213
|
+
return False
|
184
214
|
return False
|
185
215
|
|
186
216
|
def on_response(
|
187
|
-
self,
|
217
|
+
self,
|
218
|
+
request: PipelineRequest[HTTPRequestType],
|
219
|
+
response: PipelineResponse[HTTPRequestType, HTTPResponseType],
|
188
220
|
) -> None:
|
189
221
|
"""Executed after the request comes back from the next policy.
|
190
222
|
|
@@ -247,7 +279,11 @@ class AzureSasCredentialPolicy(SansIOHTTPPolicy[HTTPRequestType, HTTPResponseTyp
|
|
247
279
|
:raises: ValueError or TypeError
|
248
280
|
"""
|
249
281
|
|
250
|
-
def __init__(
|
282
|
+
def __init__(
|
283
|
+
self, # pylint: disable=unused-argument
|
284
|
+
credential: "AzureSasCredential",
|
285
|
+
**kwargs: Any,
|
286
|
+
) -> None:
|
251
287
|
super(AzureSasCredentialPolicy, self).__init__()
|
252
288
|
if not credential:
|
253
289
|
raise ValueError("credential can not be None")
|
@@ -4,18 +4,27 @@
|
|
4
4
|
# license information.
|
5
5
|
# -------------------------------------------------------------------------
|
6
6
|
import time
|
7
|
+
import base64
|
7
8
|
from typing import Any, Awaitable, Optional, cast, TypeVar, Union
|
8
9
|
|
9
10
|
from azure.core.credentials import AccessToken, AccessTokenInfo, TokenRequestOptions
|
10
|
-
from azure.core.credentials_async import
|
11
|
+
from azure.core.credentials_async import (
|
12
|
+
AsyncTokenCredential,
|
13
|
+
AsyncSupportsTokenInfo,
|
14
|
+
AsyncTokenProvider,
|
15
|
+
)
|
11
16
|
from azure.core.pipeline import PipelineRequest, PipelineResponse
|
12
17
|
from azure.core.pipeline.policies import AsyncHTTPPolicy
|
13
18
|
from azure.core.pipeline.policies._authentication import (
|
14
19
|
_BearerTokenCredentialPolicyBase,
|
15
20
|
)
|
16
|
-
from azure.core.pipeline.transport import
|
21
|
+
from azure.core.pipeline.transport import (
|
22
|
+
AsyncHttpResponse as LegacyAsyncHttpResponse,
|
23
|
+
HttpRequest as LegacyHttpRequest,
|
24
|
+
)
|
17
25
|
from azure.core.rest import AsyncHttpResponse, HttpRequest
|
18
26
|
from azure.core.utils._utils import get_running_async_lock
|
27
|
+
from ._utils import get_challenge_parameter
|
19
28
|
|
20
29
|
from .._tools_async import await_result
|
21
30
|
|
@@ -93,7 +102,7 @@ class AsyncBearerTokenCredentialPolicy(AsyncHTTPPolicy[HTTPRequestType, AsyncHTT
|
|
93
102
|
response: PipelineResponse[HTTPRequestType, AsyncHTTPResponseType]
|
94
103
|
try:
|
95
104
|
response = await self.next.send(request)
|
96
|
-
except Exception:
|
105
|
+
except Exception:
|
97
106
|
await await_result(self.on_exception, request)
|
98
107
|
raise
|
99
108
|
await await_result(self.on_response, request, response)
|
@@ -109,7 +118,7 @@ class AsyncBearerTokenCredentialPolicy(AsyncHTTPPolicy[HTTPRequestType, AsyncHTT
|
|
109
118
|
request.context.options.pop("insecure_domain_change", False)
|
110
119
|
try:
|
111
120
|
response = await self.next.send(request)
|
112
|
-
except Exception:
|
121
|
+
except Exception:
|
113
122
|
await await_result(self.on_exception, request)
|
114
123
|
raise
|
115
124
|
await await_result(self.on_response, request, response)
|
@@ -131,6 +140,22 @@ class AsyncBearerTokenCredentialPolicy(AsyncHTTPPolicy[HTTPRequestType, AsyncHTT
|
|
131
140
|
:rtype: bool
|
132
141
|
"""
|
133
142
|
# pylint:disable=unused-argument
|
143
|
+
headers = response.http_response.headers
|
144
|
+
error = get_challenge_parameter(headers, "Bearer", "error")
|
145
|
+
if error == "insufficient_claims":
|
146
|
+
encoded_claims = get_challenge_parameter(headers, "Bearer", "claims")
|
147
|
+
if not encoded_claims:
|
148
|
+
return False
|
149
|
+
try:
|
150
|
+
padding_needed = -len(encoded_claims) % 4
|
151
|
+
claims = base64.urlsafe_b64decode(encoded_claims + "=" * padding_needed).decode("utf-8")
|
152
|
+
if claims:
|
153
|
+
token = await self._get_token(*self._scopes, claims=claims)
|
154
|
+
bearer_token = cast(Union["AccessToken", "AccessTokenInfo"], token).token
|
155
|
+
request.http_request.headers["Authorization"] = "Bearer " + bearer_token
|
156
|
+
return True
|
157
|
+
except Exception: # pylint:disable=broad-except
|
158
|
+
return False
|
134
159
|
return False
|
135
160
|
|
136
161
|
def on_response(
|
@@ -162,13 +187,7 @@ class AsyncBearerTokenCredentialPolicy(AsyncHTTPPolicy[HTTPRequestType, AsyncHTT
|
|
162
187
|
refresh_on = getattr(self._token, "refresh_on", None)
|
163
188
|
return not self._token or (refresh_on and refresh_on <= now) or self._token.expires_on - now < 300
|
164
189
|
|
165
|
-
async def
|
166
|
-
"""Request a new token from the credential.
|
167
|
-
|
168
|
-
This will call the credential's appropriate method to get a token and store it in the policy.
|
169
|
-
|
170
|
-
:param str scopes: The type of access needed.
|
171
|
-
"""
|
190
|
+
async def _get_token(self, *scopes: str, **kwargs: Any) -> Union["AccessToken", "AccessTokenInfo"]:
|
172
191
|
if self._enable_cae:
|
173
192
|
kwargs.setdefault("enable_cae", self._enable_cae)
|
174
193
|
|
@@ -176,13 +195,25 @@ class AsyncBearerTokenCredentialPolicy(AsyncHTTPPolicy[HTTPRequestType, AsyncHTT
|
|
176
195
|
options: TokenRequestOptions = {}
|
177
196
|
# Loop through all the keyword arguments and check if they are part of the TokenRequestOptions.
|
178
197
|
for key in list(kwargs.keys()):
|
179
|
-
if key in TokenRequestOptions.__annotations__: # pylint:disable=no-member
|
198
|
+
if key in TokenRequestOptions.__annotations__: # pylint: disable=no-member
|
180
199
|
options[key] = kwargs.pop(key) # type: ignore[literal-required]
|
181
200
|
|
182
|
-
|
201
|
+
return await await_result(
|
183
202
|
cast(AsyncSupportsTokenInfo, self._credential).get_token_info,
|
184
203
|
*scopes,
|
185
204
|
options=options,
|
186
205
|
)
|
187
|
-
|
188
|
-
|
206
|
+
return await await_result(
|
207
|
+
cast(AsyncTokenCredential, self._credential).get_token,
|
208
|
+
*scopes,
|
209
|
+
**kwargs,
|
210
|
+
)
|
211
|
+
|
212
|
+
async def _request_token(self, *scopes: str, **kwargs: Any) -> None:
|
213
|
+
"""Request a new token from the credential.
|
214
|
+
|
215
|
+
This will call the credential's appropriate method to get a token and store it in the policy.
|
216
|
+
|
217
|
+
:param str scopes: The type of access needed.
|
218
|
+
"""
|
219
|
+
self._token = await self._get_token(*scopes, **kwargs)
|
@@ -25,7 +25,10 @@
|
|
25
25
|
# --------------------------------------------------------------------------
|
26
26
|
from typing import TypeVar, Any
|
27
27
|
from azure.core.pipeline import PipelineRequest, PipelineResponse
|
28
|
-
from azure.core.pipeline.transport import
|
28
|
+
from azure.core.pipeline.transport import (
|
29
|
+
HttpResponse as LegacyHttpResponse,
|
30
|
+
HttpRequest as LegacyHttpRequest,
|
31
|
+
)
|
29
32
|
from azure.core.rest import HttpResponse, HttpRequest
|
30
33
|
from ._base import SansIOHTTPPolicy
|
31
34
|
|
@@ -41,7 +44,7 @@ class CustomHookPolicy(SansIOHTTPPolicy[HTTPRequestType, HTTPResponseType]):
|
|
41
44
|
:keyword callback raw_response_hook: Callback function. Will be invoked on response.
|
42
45
|
"""
|
43
46
|
|
44
|
-
def __init__(self, **kwargs: Any):
|
47
|
+
def __init__(self, **kwargs: Any):
|
45
48
|
self._request_callback = kwargs.get("raw_request_hook")
|
46
49
|
self._response_callback = kwargs.get("raw_response_hook")
|
47
50
|
|
@@ -63,7 +66,9 @@ class CustomHookPolicy(SansIOHTTPPolicy[HTTPRequestType, HTTPResponseType]):
|
|
63
66
|
request.context["raw_response_hook"] = response_callback
|
64
67
|
|
65
68
|
def on_response(
|
66
|
-
self,
|
69
|
+
self,
|
70
|
+
request: PipelineRequest[HTTPRequestType],
|
71
|
+
response: PipelineResponse[HTTPRequestType, HTTPResponseType],
|
67
72
|
) -> None:
|
68
73
|
"""This is executed after the request comes back from the policy.
|
69
74
|
|
@@ -32,7 +32,10 @@ from types import TracebackType
|
|
32
32
|
|
33
33
|
from azure.core.pipeline import PipelineRequest, PipelineResponse
|
34
34
|
from azure.core.pipeline.policies import SansIOHTTPPolicy
|
35
|
-
from azure.core.pipeline.transport import
|
35
|
+
from azure.core.pipeline.transport import (
|
36
|
+
HttpResponse as LegacyHttpResponse,
|
37
|
+
HttpRequest as LegacyHttpRequest,
|
38
|
+
)
|
36
39
|
from azure.core.rest import HttpResponse, HttpRequest
|
37
40
|
from azure.core.settings import settings
|
38
41
|
from azure.core.tracing import SpanKind
|
@@ -90,10 +93,11 @@ class DistributedTracingPolicy(SansIOHTTPPolicy[HTTPRequestType, HTTPResponseTyp
|
|
90
93
|
return
|
91
94
|
|
92
95
|
namer = ctxt.pop("network_span_namer", self._network_span_namer)
|
96
|
+
tracing_attributes = ctxt.pop("tracing_attributes", self._tracing_attributes)
|
93
97
|
span_name = namer(request.http_request)
|
94
98
|
|
95
99
|
span = span_impl_type(name=span_name, kind=SpanKind.CLIENT)
|
96
|
-
for attr, value in
|
100
|
+
for attr, value in tracing_attributes.items():
|
97
101
|
span.add_attribute(attr, value)
|
98
102
|
span.start()
|
99
103
|
|
@@ -139,7 +143,9 @@ class DistributedTracingPolicy(SansIOHTTPPolicy[HTTPRequestType, HTTPResponseTyp
|
|
139
143
|
span.finish()
|
140
144
|
|
141
145
|
def on_response(
|
142
|
-
self,
|
146
|
+
self,
|
147
|
+
request: PipelineRequest[HTTPRequestType],
|
148
|
+
response: PipelineResponse[HTTPRequestType, HTTPResponseType],
|
143
149
|
) -> None:
|
144
150
|
self.end_span(request, response=response.http_response)
|
145
151
|
|
@@ -44,7 +44,11 @@ from ._utils import get_domain
|
|
44
44
|
|
45
45
|
HTTPResponseType = TypeVar("HTTPResponseType", HttpResponse, LegacyHttpResponse)
|
46
46
|
AllHttpResponseType = TypeVar(
|
47
|
-
"AllHttpResponseType",
|
47
|
+
"AllHttpResponseType",
|
48
|
+
HttpResponse,
|
49
|
+
LegacyHttpResponse,
|
50
|
+
AsyncHttpResponse,
|
51
|
+
LegacyAsyncHttpResponse,
|
48
52
|
)
|
49
53
|
HTTPRequestType = TypeVar("HTTPRequestType", HttpRequest, LegacyHttpRequest)
|
50
54
|
ClsRedirectPolicy = TypeVar("ClsRedirectPolicy", bound="RedirectPolicyBase")
|
@@ -131,7 +135,10 @@ class RedirectPolicyBase:
|
|
131
135
|
return False
|
132
136
|
|
133
137
|
def increment(
|
134
|
-
self,
|
138
|
+
self,
|
139
|
+
settings: Dict[str, Any],
|
140
|
+
response: PipelineResponse[Any, AllHttpResponseType],
|
141
|
+
redirect_location: str,
|
135
142
|
) -> bool:
|
136
143
|
"""Increment the redirect attempts for this request.
|
137
144
|
|
@@ -26,7 +26,10 @@
|
|
26
26
|
from typing import TypeVar
|
27
27
|
from azure.core.exceptions import TooManyRedirectsError
|
28
28
|
from azure.core.pipeline import PipelineResponse, PipelineRequest
|
29
|
-
from azure.core.pipeline.transport import
|
29
|
+
from azure.core.pipeline.transport import (
|
30
|
+
AsyncHttpResponse as LegacyAsyncHttpResponse,
|
31
|
+
HttpRequest as LegacyHttpRequest,
|
32
|
+
)
|
30
33
|
from azure.core.rest import AsyncHttpResponse, HttpRequest
|
31
34
|
from . import AsyncHTTPPolicy
|
32
35
|
from ._redirect import RedirectPolicyBase, domain_changed
|