File size: 3,357 Bytes
edc8b84 | 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 141 | 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
|