1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
from ._api import request, stream
from ._async import (
AsyncConnectionInterface,
AsyncConnectionPool,
AsyncHTTP2Connection,
AsyncHTTP11Connection,
AsyncHTTPConnection,
AsyncHTTPProxy,
AsyncSOCKSProxy,
)
from ._backends.base import (
SOCKET_OPTION,
AsyncNetworkBackend,
AsyncNetworkStream,
NetworkBackend,
NetworkStream,
)
from ._backends.mock import AsyncMockBackend, AsyncMockStream, MockBackend, MockStream
from ._backends.sync import SyncBackend
from ._exceptions import (
ConnectError,
ConnectionNotAvailable,
ConnectTimeout,
LocalProtocolError,
NetworkError,
PoolTimeout,
ProtocolError,
ProxyError,
ReadError,
ReadTimeout,
RemoteProtocolError,
TimeoutException,
UnsupportedProtocol,
WriteError,
WriteTimeout,
)
from ._models import URL, Origin, Proxy, Request, Response
from ._ssl import default_ssl_context
from ._sync import (
ConnectionInterface,
ConnectionPool,
HTTP2Connection,
HTTP11Connection,
HTTPConnection,
HTTPProxy,
SOCKSProxy,
)
# The 'httpcore.AnyIOBackend' class is conditional on 'anyio' being installed.
try:
from ._backends.anyio import AnyIOBackend
except ImportError: # pragma: nocover
class AnyIOBackend: # type: ignore
def __init__(self, *args, **kwargs): # type: ignore
msg = (
"Attempted to use 'httpcore.AnyIOBackend' but 'anyio' is not installed."
)
raise RuntimeError(msg)
# The 'httpcore.TrioBackend' class is conditional on 'trio' being installed.
try:
from ._backends.trio import TrioBackend
except ImportError: # pragma: nocover
class TrioBackend: # type: ignore
def __init__(self, *args, **kwargs): # type: ignore
msg = "Attempted to use 'httpcore.TrioBackend' but 'trio' is not installed."
raise RuntimeError(msg)
__all__ = [
# top-level requests
"request",
"stream",
# models
"Origin",
"URL",
"Request",
"Response",
"Proxy",
# async
"AsyncHTTPConnection",
"AsyncConnectionPool",
"AsyncHTTPProxy",
"AsyncHTTP11Connection",
"AsyncHTTP2Connection",
"AsyncConnectionInterface",
"AsyncSOCKSProxy",
# sync
"HTTPConnection",
"ConnectionPool",
"HTTPProxy",
"HTTP11Connection",
"HTTP2Connection",
"ConnectionInterface",
"SOCKSProxy",
# network backends, implementations
"SyncBackend",
"AnyIOBackend",
"TrioBackend",
# network backends, mock implementations
"AsyncMockBackend",
"AsyncMockStream",
"MockBackend",
"MockStream",
# network backends, interface
"AsyncNetworkStream",
"AsyncNetworkBackend",
"NetworkStream",
"NetworkBackend",
# util
"default_ssl_context",
"SOCKET_OPTION",
# exceptions
"ConnectionNotAvailable",
"ProxyError",
"ProtocolError",
"LocalProtocolError",
"RemoteProtocolError",
"UnsupportedProtocol",
"TimeoutException",
"PoolTimeout",
"ConnectTimeout",
"ReadTimeout",
"WriteTimeout",
"NetworkError",
"ConnectError",
"ReadError",
"WriteError",
]
__version__ = "1.0.7"
__locals = locals()
for __name in __all__:
if not __name.startswith("__"):
setattr(__locals[__name], "__module__", "httpcore") # noqa
|