| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- 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.8"
- __locals = locals()
- for __name in __all__:
- # Exclude SOCKET_OPTION, it causes AttributeError on Python 3.14
- if not __name.startswith(("__", "SOCKET_OPTION")):
- setattr(__locals[__name], "__module__", "httpcore") # noqa
|