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