corehttp 1.0.0b3__py3-none-any.whl → 1.0.0b5__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.
- corehttp/_version.py +1 -1
- corehttp/credentials.py +6 -2
- corehttp/runtime/_base.py +4 -3
- corehttp/runtime/_pipeline_client.py +9 -0
- corehttp/runtime/_pipeline_client_async.py +9 -0
- corehttp/runtime/pipeline/_base.py +19 -2
- corehttp/runtime/pipeline/_base_async.py +15 -3
- corehttp/runtime/policies/_authentication_async.py +8 -2
- corehttp/runtime/policies/_universal.py +3 -3
- corehttp/runtime/policies/_utils.py +1 -1
- corehttp/transport/requests/_bigger_block_size_http_adapters.py +5 -2
- corehttp/utils/_utils.py +19 -0
- {corehttp-1.0.0b3.dist-info → corehttp-1.0.0b5.dist-info}/METADATA +13 -1
- {corehttp-1.0.0b3.dist-info → corehttp-1.0.0b5.dist-info}/RECORD +17 -17
- {corehttp-1.0.0b3.dist-info → corehttp-1.0.0b5.dist-info}/LICENSE +0 -0
- {corehttp-1.0.0b3.dist-info → corehttp-1.0.0b5.dist-info}/WHEEL +0 -0
- {corehttp-1.0.0b3.dist-info → corehttp-1.0.0b5.dist-info}/top_level.txt +0 -0
corehttp/_version.py
CHANGED
corehttp/credentials.py
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
# license information.
|
|
5
5
|
# -------------------------------------------------------------------------
|
|
6
6
|
from __future__ import annotations
|
|
7
|
-
from collections import namedtuple
|
|
8
7
|
from types import TracebackType
|
|
9
8
|
from typing import Any, NamedTuple, Optional, AsyncContextManager, Type
|
|
10
9
|
from typing_extensions import Protocol, runtime_checkable
|
|
@@ -40,7 +39,12 @@ class TokenCredential(Protocol):
|
|
|
40
39
|
...
|
|
41
40
|
|
|
42
41
|
|
|
43
|
-
ServiceNamedKey
|
|
42
|
+
class ServiceNamedKey(NamedTuple):
|
|
43
|
+
"""Represents a name and key pair."""
|
|
44
|
+
|
|
45
|
+
name: str
|
|
46
|
+
key: str
|
|
47
|
+
|
|
44
48
|
|
|
45
49
|
__all__ = [
|
|
46
50
|
"AccessToken",
|
corehttp/runtime/_base.py
CHANGED
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
# IN THE SOFTWARE.
|
|
24
24
|
#
|
|
25
25
|
# --------------------------------------------------------------------------
|
|
26
|
-
from typing import Any
|
|
26
|
+
from typing import Any, Dict
|
|
27
27
|
from urllib.parse import urlparse
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
def _format_url_section(template, **kwargs):
|
|
30
|
+
def _format_url_section(template, **kwargs: Dict[str, str]) -> str:
|
|
31
31
|
"""String format the template with the kwargs, auto-skip sections of the template that are NOT in the kwargs.
|
|
32
32
|
|
|
33
33
|
By default in Python, "format" will raise a KeyError if a template element is not found. Here the section between
|
|
@@ -53,6 +53,7 @@ def _format_url_section(template, **kwargs):
|
|
|
53
53
|
f"The value provided for the url part '{template}' was incorrect, and resulted in an invalid url"
|
|
54
54
|
) from key
|
|
55
55
|
last_template = template
|
|
56
|
+
return last_template
|
|
56
57
|
|
|
57
58
|
|
|
58
59
|
def _urljoin(base_url: str, stub_url: str) -> str:
|
|
@@ -71,7 +72,7 @@ def _urljoin(base_url: str, stub_url: str) -> str:
|
|
|
71
72
|
stub_url_path = split_url.pop(0)
|
|
72
73
|
stub_url_query = split_url.pop() if split_url else None
|
|
73
74
|
|
|
74
|
-
# Note that _replace is a public API named that way to avoid
|
|
75
|
+
# Note that _replace is a public API named that way to avoid conflicts in namedtuple
|
|
75
76
|
# https://docs.python.org/3/library/collections.html?highlight=namedtuple#collections.namedtuple
|
|
76
77
|
parsed_base_url = parsed_base_url._replace(
|
|
77
78
|
path=parsed_base_url.path.rstrip("/") + "/" + stub_url_path,
|
|
@@ -62,6 +62,15 @@ class PipelineClient(PipelineClientBase, Generic[HTTPRequestType, HTTPResponseTy
|
|
|
62
62
|
|
|
63
63
|
:ivar pipeline: The Pipeline object associated with the client.
|
|
64
64
|
:vartype pipeline: ~corehttp.runtime.pipeline.Pipeline or None
|
|
65
|
+
|
|
66
|
+
.. admonition:: Example:
|
|
67
|
+
|
|
68
|
+
.. literalinclude:: ../samples/sample_pipeline_client.py
|
|
69
|
+
:start-after: [START build_pipeline_client]
|
|
70
|
+
:end-before: [END build_pipeline_client]
|
|
71
|
+
:language: python
|
|
72
|
+
:dedent: 4
|
|
73
|
+
:caption: Builds the pipeline client.
|
|
65
74
|
"""
|
|
66
75
|
|
|
67
76
|
def __init__(
|
|
@@ -141,6 +141,15 @@ class AsyncPipelineClient(
|
|
|
141
141
|
|
|
142
142
|
:ivar pipeline: The Pipeline object associated with the client.
|
|
143
143
|
:vartype pipeline: ~corehttp.runtime.pipeline.Pipeline or None
|
|
144
|
+
|
|
145
|
+
.. admonition:: Example:
|
|
146
|
+
|
|
147
|
+
.. literalinclude:: ../samples/sample_async_pipeline_client.py
|
|
148
|
+
:start-after: [START build_async_pipeline_client]
|
|
149
|
+
:end-before: [END build_async_pipeline_client]
|
|
150
|
+
:language: python
|
|
151
|
+
:dedent: 4
|
|
152
|
+
:caption: Builds the async pipeline client.
|
|
144
153
|
"""
|
|
145
154
|
|
|
146
155
|
def __init__(
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
from __future__ import annotations
|
|
27
27
|
import logging
|
|
28
28
|
from typing import Generic, TypeVar, Union, Any, List, Optional, Iterable, ContextManager
|
|
29
|
+
from typing_extensions import TypeGuard
|
|
29
30
|
|
|
30
31
|
from . import (
|
|
31
32
|
PipelineRequest,
|
|
@@ -42,6 +43,18 @@ HTTPRequestType = TypeVar("HTTPRequestType")
|
|
|
42
43
|
_LOGGER = logging.getLogger(__name__)
|
|
43
44
|
|
|
44
45
|
|
|
46
|
+
def is_http_policy(policy: object) -> TypeGuard[HTTPPolicy]:
|
|
47
|
+
if hasattr(policy, "send"):
|
|
48
|
+
return True
|
|
49
|
+
return False
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def is_sansio_http_policy(policy: object) -> TypeGuard[SansIOHTTPPolicy]:
|
|
53
|
+
if hasattr(policy, "on_request") and hasattr(policy, "on_response"):
|
|
54
|
+
return True
|
|
55
|
+
return False
|
|
56
|
+
|
|
57
|
+
|
|
45
58
|
class _SansIOHTTPPolicyRunner(HTTPPolicy[HTTPRequestType, HTTPResponseType]):
|
|
46
59
|
"""Sync implementation of the SansIO policy.
|
|
47
60
|
|
|
@@ -123,10 +136,14 @@ class Pipeline(ContextManager["Pipeline"], Generic[HTTPRequestType, HTTPResponse
|
|
|
123
136
|
self._transport = transport
|
|
124
137
|
|
|
125
138
|
for policy in policies or []:
|
|
126
|
-
if
|
|
139
|
+
if is_http_policy(policy):
|
|
140
|
+
self._impl_policies.append(policy)
|
|
141
|
+
elif is_sansio_http_policy(policy):
|
|
127
142
|
self._impl_policies.append(_SansIOHTTPPolicyRunner(policy))
|
|
128
143
|
elif policy:
|
|
129
|
-
|
|
144
|
+
raise AttributeError(
|
|
145
|
+
f"'{type(policy)}' object has no attribute 'send' or both 'on_request' and 'on_response'."
|
|
146
|
+
)
|
|
130
147
|
for index in range(len(self._impl_policies) - 1):
|
|
131
148
|
self._impl_policies[index].next = self._impl_policies[index + 1]
|
|
132
149
|
if self._impl_policies:
|
|
@@ -24,12 +24,14 @@
|
|
|
24
24
|
#
|
|
25
25
|
# --------------------------------------------------------------------------
|
|
26
26
|
from __future__ import annotations
|
|
27
|
+
import inspect
|
|
27
28
|
from types import TracebackType
|
|
28
29
|
from typing import Any, Union, Generic, TypeVar, List, Optional, Iterable, Type
|
|
29
|
-
from typing_extensions import AsyncContextManager
|
|
30
|
+
from typing_extensions import AsyncContextManager, TypeGuard
|
|
30
31
|
|
|
31
32
|
from . import PipelineRequest, PipelineResponse, PipelineContext
|
|
32
33
|
from ..policies import AsyncHTTPPolicy, SansIOHTTPPolicy
|
|
34
|
+
from ..pipeline._base import is_sansio_http_policy
|
|
33
35
|
from ._tools_async import await_result as _await_result
|
|
34
36
|
from ...transport import AsyncHttpTransport
|
|
35
37
|
|
|
@@ -37,6 +39,12 @@ AsyncHTTPResponseType = TypeVar("AsyncHTTPResponseType")
|
|
|
37
39
|
HTTPRequestType = TypeVar("HTTPRequestType")
|
|
38
40
|
|
|
39
41
|
|
|
42
|
+
def is_async_http_policy(policy: object) -> TypeGuard[AsyncHTTPPolicy]:
|
|
43
|
+
if hasattr(policy, "send") and inspect.iscoroutinefunction(policy.send):
|
|
44
|
+
return True
|
|
45
|
+
return False
|
|
46
|
+
|
|
47
|
+
|
|
40
48
|
class _SansIOAsyncHTTPPolicyRunner(
|
|
41
49
|
AsyncHTTPPolicy[HTTPRequestType, AsyncHTTPResponseType]
|
|
42
50
|
): # pylint: disable=unsubscriptable-object
|
|
@@ -127,10 +135,14 @@ class AsyncPipeline(AsyncContextManager["AsyncPipeline"], Generic[HTTPRequestTyp
|
|
|
127
135
|
self._transport = transport
|
|
128
136
|
|
|
129
137
|
for policy in policies or []:
|
|
130
|
-
if
|
|
138
|
+
if is_async_http_policy(policy):
|
|
139
|
+
self._impl_policies.append(policy)
|
|
140
|
+
elif is_sansio_http_policy(policy):
|
|
131
141
|
self._impl_policies.append(_SansIOAsyncHTTPPolicyRunner(policy))
|
|
132
142
|
elif policy:
|
|
133
|
-
|
|
143
|
+
raise AttributeError(
|
|
144
|
+
f"'{type(policy)}' object has no attribute 'send' or both 'on_request' and 'on_response'."
|
|
145
|
+
)
|
|
134
146
|
for index in range(len(self._impl_policies) - 1):
|
|
135
147
|
self._impl_policies[index].next = self._impl_policies[index + 1]
|
|
136
148
|
if self._impl_policies:
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
# license information.
|
|
5
5
|
# -------------------------------------------------------------------------
|
|
6
6
|
from __future__ import annotations
|
|
7
|
-
import asyncio
|
|
8
7
|
import time
|
|
9
8
|
from typing import TYPE_CHECKING, Any, Awaitable, Optional, cast, TypeVar
|
|
10
9
|
|
|
@@ -14,6 +13,7 @@ from ..pipeline._tools_async import await_result
|
|
|
14
13
|
from ._base_async import AsyncHTTPPolicy
|
|
15
14
|
from ._authentication import _BearerTokenCredentialPolicyBase
|
|
16
15
|
from ...rest import AsyncHttpResponse, HttpRequest
|
|
16
|
+
from ...utils._utils import get_running_async_lock
|
|
17
17
|
|
|
18
18
|
if TYPE_CHECKING:
|
|
19
19
|
from ...credentials import AsyncTokenCredential
|
|
@@ -36,10 +36,16 @@ class AsyncBearerTokenCredentialPolicy(AsyncHTTPPolicy[HTTPRequestType, AsyncHTT
|
|
|
36
36
|
) -> None:
|
|
37
37
|
super().__init__()
|
|
38
38
|
self._credential = credential
|
|
39
|
-
self.
|
|
39
|
+
self._lock_instance = None
|
|
40
40
|
self._scopes = scopes
|
|
41
41
|
self._token: Optional["AccessToken"] = None
|
|
42
42
|
|
|
43
|
+
@property
|
|
44
|
+
def _lock(self):
|
|
45
|
+
if self._lock_instance is None:
|
|
46
|
+
self._lock_instance = get_running_async_lock()
|
|
47
|
+
return self._lock_instance
|
|
48
|
+
|
|
43
49
|
async def on_request(self, request: PipelineRequest[HTTPRequestType]) -> None:
|
|
44
50
|
"""Adds a bearer token Authorization header to request and sends request to next policy.
|
|
45
51
|
|
|
@@ -35,7 +35,7 @@ import platform
|
|
|
35
35
|
import xml.etree.ElementTree as ET
|
|
36
36
|
import types
|
|
37
37
|
import re
|
|
38
|
-
from typing import IO, cast, Union, Optional, AnyStr, Dict, Any,
|
|
38
|
+
from typing import IO, cast, Union, Optional, AnyStr, Dict, Any, MutableMapping, TYPE_CHECKING
|
|
39
39
|
|
|
40
40
|
from ... import __version__ as core_version
|
|
41
41
|
from ...exceptions import DecodeError
|
|
@@ -449,12 +449,12 @@ class ProxyPolicy(SansIOHTTPPolicy[HTTPRequestType, HTTPResponseType]):
|
|
|
449
449
|
Dictionary mapping protocol or protocol and host to the URL of the proxy
|
|
450
450
|
to be used on each Request.
|
|
451
451
|
|
|
452
|
-
:param
|
|
452
|
+
:param MutableMapping proxies: Maps protocol or protocol and hostname to the URL
|
|
453
453
|
of the proxy.
|
|
454
454
|
"""
|
|
455
455
|
|
|
456
456
|
def __init__(
|
|
457
|
-
self, proxies: Optional[
|
|
457
|
+
self, proxies: Optional[MutableMapping[str, str]] = None, **kwargs: Any
|
|
458
458
|
): # pylint: disable=unused-argument,super-init-not-called
|
|
459
459
|
self.proxies = proxies
|
|
460
460
|
|
|
@@ -61,7 +61,7 @@ def parse_retry_after(retry_after: str) -> float:
|
|
|
61
61
|
"""
|
|
62
62
|
delay: float # Using the Mypy recommendation to use float for "int or float"
|
|
63
63
|
try:
|
|
64
|
-
delay =
|
|
64
|
+
delay = float(retry_after)
|
|
65
65
|
except ValueError:
|
|
66
66
|
# Not an integer? Try HTTP date
|
|
67
67
|
retry_date = _parse_http_date(retry_after)
|
|
@@ -25,18 +25,21 @@
|
|
|
25
25
|
# --------------------------------------------------------------------------
|
|
26
26
|
|
|
27
27
|
import sys
|
|
28
|
+
from typing import MutableMapping, Optional
|
|
29
|
+
|
|
28
30
|
from requests.adapters import HTTPAdapter # pylint: disable=all
|
|
31
|
+
from urllib3.connectionpool import ConnectionPool
|
|
29
32
|
|
|
30
33
|
|
|
31
34
|
class BiggerBlockSizeHTTPAdapter(HTTPAdapter):
|
|
32
|
-
def get_connection(self, url, proxies=None):
|
|
35
|
+
def get_connection(self, url: str, proxies: Optional[MutableMapping[str, str]] = None) -> ConnectionPool:
|
|
33
36
|
"""Returns a urllib3 connection for the given URL. This should not be
|
|
34
37
|
called from user code, and is only exposed for use when subclassing the
|
|
35
38
|
:class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
|
36
39
|
|
|
37
40
|
:param str url: The URL to connect to.
|
|
38
41
|
:param dict proxies: (optional) A Requests-style dictionary of proxies used on this request.
|
|
39
|
-
:rtype: urllib3.ConnectionPool
|
|
42
|
+
:rtype: urllib3.connectionpool.ConnectionPool
|
|
40
43
|
:returns: The urllib3 ConnectionPool for the given URL.
|
|
41
44
|
"""
|
|
42
45
|
conn = super(BiggerBlockSizeHTTPAdapter, self).get_connection(url, proxies)
|
corehttp/utils/_utils.py
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import datetime
|
|
8
8
|
from typing import (
|
|
9
9
|
Any,
|
|
10
|
+
AsyncContextManager,
|
|
10
11
|
Iterable,
|
|
11
12
|
Iterator,
|
|
12
13
|
Mapping,
|
|
@@ -164,3 +165,21 @@ def get_file_items(files: "FilesType") -> Sequence[Tuple[str, "FileType"]]:
|
|
|
164
165
|
# though realistically it is ordered python 3.7 and after
|
|
165
166
|
return cast(Sequence[Tuple[str, "FileType"]], files.items())
|
|
166
167
|
return files
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def get_running_async_lock() -> AsyncContextManager:
|
|
171
|
+
"""Get a lock instance from the async library that the current context is running under.
|
|
172
|
+
:return: An instance of the running async library's Lock class.
|
|
173
|
+
:rtype: AsyncContextManager
|
|
174
|
+
:raises: RuntimeError if the current context is not running under an async library.
|
|
175
|
+
"""
|
|
176
|
+
|
|
177
|
+
try:
|
|
178
|
+
import asyncio
|
|
179
|
+
|
|
180
|
+
# Check if we are running in an asyncio event loop.
|
|
181
|
+
asyncio.get_running_loop()
|
|
182
|
+
return asyncio.Lock()
|
|
183
|
+
except RuntimeError as err:
|
|
184
|
+
# Otherwise, assume we are running in a trio event loop, but this currently isn't supported.
|
|
185
|
+
raise RuntimeError("An asyncio event loop is required.") from err
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: corehttp
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.0b5
|
|
4
4
|
Summary: CoreHTTP Library for Python
|
|
5
5
|
Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/corehttp
|
|
6
6
|
Author: Microsoft Corporation
|
|
@@ -87,6 +87,18 @@ additional questions or comments.
|
|
|
87
87
|
|
|
88
88
|
# Release History
|
|
89
89
|
|
|
90
|
+
## 1.0.0b5 (2024-02-29)
|
|
91
|
+
|
|
92
|
+
### Other Changes
|
|
93
|
+
|
|
94
|
+
- Accept float for `retry_after` header.
|
|
95
|
+
|
|
96
|
+
## 1.0.0b4 (2024-02-23)
|
|
97
|
+
|
|
98
|
+
### Other Changes
|
|
99
|
+
|
|
100
|
+
- Relax type checking in `Pipeline` constructors to only check that each user-supplied policy object has either a `send` method or both an `on_request` and `on_response` method. This allows for more flexible policy implementations. [#34296](https://github.com/Azure/azure-sdk-for-python/pull/34296)
|
|
101
|
+
|
|
90
102
|
## 1.0.0b3 (2024-02-01)
|
|
91
103
|
|
|
92
104
|
### Features Added
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
corehttp/__init__.py,sha256=Wdidh085sV_IhdV_wU79t7FpghhpyxCsRnZGOUoQ0xs,1443
|
|
2
2
|
corehttp/_match_conditions.py,sha256=3TIhb4vBO1hBe7MaQwS_9i-d6p7o4jn5L6M-OiQahkg,1864
|
|
3
|
-
corehttp/_version.py,sha256=
|
|
4
|
-
corehttp/credentials.py,sha256=
|
|
3
|
+
corehttp/_version.py,sha256=Adx1gY_uaehKHdReRn2zLYGyMjbGV43k9smdJngNeLo,494
|
|
4
|
+
corehttp/credentials.py,sha256=xx94AN5Nekiz3SNHJNV6ncS2o4ObCc5U_Ya62QzTfaM,5237
|
|
5
5
|
corehttp/exceptions.py,sha256=qSqzPJVD_ufGO5HEAbNY8BNmVUoXPCgBeVrw195QvF4,11554
|
|
6
6
|
corehttp/paging.py,sha256=zI-fFLBUgMRZmFegD2T6Q52s_3PFDb6lLjtR7-XSZDc,9520
|
|
7
7
|
corehttp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -15,23 +15,23 @@ corehttp/rest/_httpx.py,sha256=7mmpEIQ0-GLf3G_Wg3-f2dQnk-mvw4xbqtL9eoPhhwY,8173
|
|
|
15
15
|
corehttp/rest/_requests_basic.py,sha256=rw2GwxDMMrG5A4onTKLwQpsQe98MtUaowA_-BfTgsuc,7527
|
|
16
16
|
corehttp/rest/_rest_py3.py,sha256=JLLGz6svFF-UwxS_GyGUq5c2KHcNL26TB-ARxfBIOY8,14096
|
|
17
17
|
corehttp/runtime/__init__.py,sha256=OeG_5-Oq3Zp9rJcMfRNiYLv3V39wIZxDcQ-unerauDw,1469
|
|
18
|
-
corehttp/runtime/_base.py,sha256=
|
|
19
|
-
corehttp/runtime/_pipeline_client.py,sha256=
|
|
20
|
-
corehttp/runtime/_pipeline_client_async.py,sha256=
|
|
18
|
+
corehttp/runtime/_base.py,sha256=gr2xJQJeWuOmtrudFhM07_6ASIhUX66jR1nxSRMh068,5056
|
|
19
|
+
corehttp/runtime/_pipeline_client.py,sha256=A2R0JEcfFIOe6b38VzuQatAxfbiBhtu_RCpOlM968b0,7099
|
|
20
|
+
corehttp/runtime/_pipeline_client_async.py,sha256=dBUqhntQzcS1kbQ6z7d6C4Y3HDghLr4jrobtlKvbVTw,10378
|
|
21
21
|
corehttp/runtime/pipeline/__init__.py,sha256=gRGAsJ1ZDE20TMp6JDw8OpekZdfA7ZzZvOhVHclNpDI,7727
|
|
22
|
-
corehttp/runtime/pipeline/_base.py,sha256=
|
|
23
|
-
corehttp/runtime/pipeline/_base_async.py,sha256=
|
|
22
|
+
corehttp/runtime/pipeline/_base.py,sha256=WVLDonxHv5knC-Ffq7YW2cRHr22rtZQjRtZ2N9FWzLw,6900
|
|
23
|
+
corehttp/runtime/pipeline/_base_async.py,sha256=4hvZDFlJ9odUs6Z6etQUlXfm9b1Bt_avZxxEee_h3Sw,7370
|
|
24
24
|
corehttp/runtime/pipeline/_tools.py,sha256=iol34Mo_R6-Rezal7WSFFSzFa1V3dXf90AQydnxRnSQ,2004
|
|
25
25
|
corehttp/runtime/pipeline/_tools_async.py,sha256=OvEJjH8NuGnSOrcbJBCIlN_TsO8w87kgEJ0LJcwcYH0,2159
|
|
26
26
|
corehttp/runtime/policies/__init__.py,sha256=_LPYWjRNkDq45FAHUvyMJ92BL0W6pf7-KrjxSZSkF5c,2196
|
|
27
27
|
corehttp/runtime/policies/_authentication.py,sha256=mgacXdydBBKPQ-5NujqNNWNNCsbt9ETWJBBdqMqgfGc,8819
|
|
28
|
-
corehttp/runtime/policies/_authentication_async.py,sha256=
|
|
28
|
+
corehttp/runtime/policies/_authentication_async.py,sha256=QUUYFlcsc6vJDox7vw1Ggg165c1KXEWiwM70BInoidM,6946
|
|
29
29
|
corehttp/runtime/policies/_base.py,sha256=zLM4NIwGQwZ75k-KPo3PthmDCpDidHvZy91ok0wnFvQ,5063
|
|
30
30
|
corehttp/runtime/policies/_base_async.py,sha256=nOZ-3lrKmfnFam3FbSY4wd9sOI7r5pI2HSdqgOC4Vz4,2531
|
|
31
31
|
corehttp/runtime/policies/_retry.py,sha256=vM40m1JSD-l6yBclxmQV06_ZOK4WAcy1PTqQQpTr3ts,24367
|
|
32
32
|
corehttp/runtime/policies/_retry_async.py,sha256=rsVFxlQMDyU1Z34FKd1trfxj2VkwGt-Ap7uqiErMeAc,9131
|
|
33
|
-
corehttp/runtime/policies/_universal.py,sha256=
|
|
34
|
-
corehttp/runtime/policies/_utils.py,sha256=
|
|
33
|
+
corehttp/runtime/policies/_universal.py,sha256=6qfC2MAQbp1KQgWnbbcBKuwprzEZaftx7tfY6QuHmpo,19835
|
|
34
|
+
corehttp/runtime/policies/_utils.py,sha256=kDnGRpC3MxsW7zHZRfkLyPMArlzY4n7vBhwQQVWKQuI,3596
|
|
35
35
|
corehttp/transport/__init__.py,sha256=6A1i9gjM5isBPb-AL-2JTzxn7pssDj8ux9Ujn6rHjlY,1442
|
|
36
36
|
corehttp/transport/_base.py,sha256=5gFTZ1u--3Ik9DyrAe10RtObasd-OXX1y9sRSkbvoyY,5107
|
|
37
37
|
corehttp/transport/_base_async.py,sha256=9zl1Sa8Vm6QBdn8Nf-J3w2qZ-wsjcV9bv1EX5Jr28w4,3827
|
|
@@ -40,13 +40,13 @@ corehttp/transport/aiohttp/_aiohttp.py,sha256=EesPhF2tAIMxgM0qwFfUu4IUzwF8mHLHbn
|
|
|
40
40
|
corehttp/transport/httpx/__init__.py,sha256=IbjUxTxtGljHK9nq6w0kAFeHd73zAl7qtd27qlqCrzg,1412
|
|
41
41
|
corehttp/transport/httpx/_httpx.py,sha256=of8Mxyfzm1Rd4ltYNt8wGz1xuTnJVef0KaiJyl99KfE,8579
|
|
42
42
|
corehttp/transport/requests/__init__.py,sha256=WPdzueqs0eLfvumuedxXPsOIpPCq3dDOvdzmIK4nyHs,1390
|
|
43
|
-
corehttp/transport/requests/_bigger_block_size_http_adapters.py,sha256=
|
|
43
|
+
corehttp/transport/requests/_bigger_block_size_http_adapters.py,sha256=0SkJ3lQHdbh1iBlCCbc9NCshDRJsVLZUZdWL-frZ_4Q,2444
|
|
44
44
|
corehttp/transport/requests/_requests_basic.py,sha256=ChsXobJeBdwLTnNnDzWLZi5JYVg6M95kcxXfcgPZ3r0,8179
|
|
45
45
|
corehttp/utils/__init__.py,sha256=_h2vJje1Tb-w_9mXm0hO_s2S1b48HLzI4taIlvz3Eu4,1648
|
|
46
46
|
corehttp/utils/_enum_meta.py,sha256=l2K1mZfpwljsruKxknabYckl0ZbsVftOxfbRhpzF_-s,2816
|
|
47
|
-
corehttp/utils/_utils.py,sha256=
|
|
48
|
-
corehttp-1.0.
|
|
49
|
-
corehttp-1.0.
|
|
50
|
-
corehttp-1.0.
|
|
51
|
-
corehttp-1.0.
|
|
52
|
-
corehttp-1.0.
|
|
47
|
+
corehttp/utils/_utils.py,sha256=TN2IplPve8b6xJPMvIVE-2oF3u_SK89XtYmCb70UDr4,6063
|
|
48
|
+
corehttp-1.0.0b5.dist-info/LICENSE,sha256=_VMkgdgo4ToLE8y1mOAjOKNhd0BnWoYu5r3BVBto6T0,1073
|
|
49
|
+
corehttp-1.0.0b5.dist-info/METADATA,sha256=aTKL6zrEYPPerCUAbEj_uhl07Ex2CsbndYBd3nwjShA,5363
|
|
50
|
+
corehttp-1.0.0b5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
51
|
+
corehttp-1.0.0b5.dist-info/top_level.txt,sha256=NAGJ-rIA_vW2ZJghxC5NqIbnfrXDBMmE-TAd-9ud4i4,9
|
|
52
|
+
corehttp-1.0.0b5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|