1
1
from __future__ import annotations
2
2
3
+ import base64
3
4
import logging
4
5
import ssl
5
- from base64 import b64encode
6
- from typing import Iterable , Mapping , Sequence , Tuple , Union
6
+ import typing
7
7
8
8
from .._backends .base import SOCKET_OPTION , AsyncNetworkBackend
9
9
from .._exceptions import ProxyError
24
24
from .http11 import AsyncHTTP11Connection
25
25
from .interfaces import AsyncConnectionInterface
26
26
27
- HeadersAsSequence = Sequence [Tuple [Union [bytes , str ], Union [bytes , str ]]]
28
- HeadersAsMapping = Mapping [Union [bytes , str ], Union [bytes , str ]]
27
+ ByteOrStr = typing .Union [bytes , str ]
28
+ HeadersAsSequence = typing .Sequence [typing .Tuple [ByteOrStr , ByteOrStr ]]
29
+ HeadersAsMapping = typing .Mapping [ByteOrStr , ByteOrStr ]
29
30
30
31
31
32
logger = logging .getLogger ("httpcore.proxy" )
32
33
33
34
34
35
def merge_headers (
35
- default_headers : Sequence [tuple [bytes , bytes ]] | None = None ,
36
- override_headers : Sequence [tuple [bytes , bytes ]] | None = None ,
36
+ default_headers : typing . Sequence [tuple [bytes , bytes ]] | None = None ,
37
+ override_headers : typing . Sequence [tuple [bytes , bytes ]] | None = None ,
37
38
) -> list [tuple [bytes , bytes ]]:
38
39
"""
39
40
Append default_headers and override_headers, de-duplicating if a key exists
@@ -52,7 +53,7 @@ def merge_headers(
52
53
53
54
def build_auth_header (username : bytes , password : bytes ) -> bytes :
54
55
userpass = username + b":" + password
55
- return b"Basic " + b64encode (userpass )
56
+ return b"Basic " + base64 . b64encode (userpass )
56
57
57
58
58
59
class AsyncHTTPProxy (AsyncConnectionPool ):
@@ -76,7 +77,7 @@ def __init__(
76
77
local_address : str | None = None ,
77
78
uds : str | None = None ,
78
79
network_backend : AsyncNetworkBackend | None = None ,
79
- socket_options : Iterable [SOCKET_OPTION ] | None = None ,
80
+ socket_options : typing . Iterable [SOCKET_OPTION ] | None = None ,
80
81
) -> None :
81
82
"""
82
83
A connection pool for making HTTP requests.
@@ -177,7 +178,7 @@ def __init__(
177
178
proxy_headers : HeadersAsMapping | HeadersAsSequence | None = None ,
178
179
keepalive_expiry : float | None = None ,
179
180
network_backend : AsyncNetworkBackend | None = None ,
180
- socket_options : Iterable [SOCKET_OPTION ] | None = None ,
181
+ socket_options : typing . Iterable [SOCKET_OPTION ] | None = None ,
181
182
proxy_ssl_context : ssl .SSLContext | None = None ,
182
183
) -> None :
183
184
self ._connection = AsyncHTTPConnection (
@@ -240,12 +241,12 @@ def __init__(
240
241
remote_origin : Origin ,
241
242
ssl_context : ssl .SSLContext | None = None ,
242
243
proxy_ssl_context : ssl .SSLContext | None = None ,
243
- proxy_headers : Sequence [tuple [bytes , bytes ]] | None = None ,
244
+ proxy_headers : typing . Sequence [tuple [bytes , bytes ]] | None = None ,
244
245
keepalive_expiry : float | None = None ,
245
246
http1 : bool = True ,
246
247
http2 : bool = False ,
247
248
network_backend : AsyncNetworkBackend | None = None ,
248
- socket_options : Iterable [SOCKET_OPTION ] | None = None ,
249
+ socket_options : typing . Iterable [SOCKET_OPTION ] | None = None ,
249
250
) -> None :
250
251
self ._connection : AsyncConnectionInterface = AsyncHTTPConnection (
251
252
origin = proxy_origin ,
0 commit comments