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

19 statements  

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) 

48 

49# The 'httpcore.AnyIOBackend' class is conditional on 'anyio' being installed. 

50try: 

51 from ._backends.anyio import AnyIOBackend 

52except ImportError: # pragma: nocover 

53 

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) 

60 

61 

62# The 'httpcore.TrioBackend' class is conditional on 'trio' being installed. 

63try: 

64 from ._backends.trio import TrioBackend 

65except ImportError: # pragma: nocover 

66 

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) 

71 

72 

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] 

133 

134__version__ = "1.0.9" 

135 

136 

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