Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

 

## Base Exceptions 

 

class HTTPError(Exception): 

    "Base exception used by this module." 

    pass 

 

class HTTPWarning(Warning): 

    "Base warning used by this module." 

    pass 

 

 

 

class PoolError(HTTPError): 

    "Base exception for errors caused within a pool." 

    def __init__(self, pool, message): 

        self.pool = pool 

        HTTPError.__init__(self, "%s: %s" % (pool, message)) 

 

    def __reduce__(self): 

        # For pickling purposes. 

        return self.__class__, (None, None) 

 

 

class RequestError(PoolError): 

    "Base exception for PoolErrors that have associated URLs." 

    def __init__(self, pool, url, message): 

        self.url = url 

        PoolError.__init__(self, pool, message) 

 

    def __reduce__(self): 

        # For pickling purposes. 

        return self.__class__, (None, self.url, None) 

 

 

class SSLError(HTTPError): 

    "Raised when SSL certificate fails in an HTTPS connection." 

    pass 

 

 

class ProxyError(HTTPError): 

    "Raised when the connection to a proxy fails." 

    pass 

 

 

class DecodeError(HTTPError): 

    "Raised when automatic decoding based on Content-Type fails." 

    pass 

 

 

class ProtocolError(HTTPError): 

    "Raised when something unexpected happens mid-request/response." 

    pass 

 

 

#: Renamed to ProtocolError but aliased for backwards compatibility. 

ConnectionError = ProtocolError 

 

 

## Leaf Exceptions 

 

class MaxRetryError(RequestError): 

    """Raised when the maximum number of retries is exceeded. 

 

    :param pool: The connection pool 

    :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` 

    :param string url: The requested Url 

    :param exceptions.Exception reason: The underlying error 

 

    """ 

 

    def __init__(self, pool, url, reason=None): 

        self.reason = reason 

 

        message = "Max retries exceeded with url: %s (Caused by %r)" % ( 

            url, reason) 

 

        RequestError.__init__(self, pool, url, message) 

 

 

class HostChangedError(RequestError): 

    "Raised when an existing pool gets a request for a foreign host." 

 

    def __init__(self, pool, url, retries=3): 

        message = "Tried to open a foreign host with url: %s" % url 

        RequestError.__init__(self, pool, url, message) 

        self.retries = retries 

 

 

class TimeoutStateError(HTTPError): 

    """ Raised when passing an invalid state to a timeout """ 

    pass 

 

 

class TimeoutError(HTTPError): 

    """ Raised when a socket timeout error occurs. 

 

    Catching this error will catch both :exc:`ReadTimeoutErrors 

    <ReadTimeoutError>` and :exc:`ConnectTimeoutErrors <ConnectTimeoutError>`. 

    """ 

    pass 

 

 

class ReadTimeoutError(TimeoutError, RequestError): 

    "Raised when a socket timeout occurs while receiving data from a server" 

    pass 

 

 

# This timeout error does not have a URL attached and needs to inherit from the 

# base HTTPError 

class ConnectTimeoutError(TimeoutError): 

    "Raised when a socket timeout occurs while connecting to a server" 

    pass 

 

 

class EmptyPoolError(PoolError): 

    "Raised when a pool runs out of connections and no more are allowed." 

    pass 

 

 

class ClosedPoolError(PoolError): 

    "Raised when a request enters a pool after the pool has been closed." 

    pass 

 

 

class LocationValueError(ValueError, HTTPError): 

    "Raised when there is something wrong with a given URL input." 

    pass 

 

 

class LocationParseError(LocationValueError): 

    "Raised when get_host or similar fails to parse the URL input." 

 

    def __init__(self, location): 

        message = "Failed to parse: %s" % location 

        HTTPError.__init__(self, message) 

 

        self.location = location 

 

 

class ResponseError(HTTPError): 

    "Used as a container for an error reason supplied in a MaxRetryError." 

    GENERIC_ERROR = 'too many error responses' 

    SPECIFIC_ERROR = 'too many {status_code} error responses' 

 

 

class SecurityWarning(HTTPWarning): 

    "Warned when perfoming security reducing actions" 

    pass 

 

 

class InsecureRequestWarning(SecurityWarning): 

    "Warned when making an unverified HTTPS request." 

    pass 

 

 

class SystemTimeWarning(SecurityWarning): 

    "Warned when system time is suspected to be wrong" 

    pass 

 

 

class InsecurePlatformWarning(SecurityWarning): 

    "Warned when certain SSL configuration is not available on a platform." 

    pass 

 

 

class ResponseNotChunked(ProtocolError, ValueError): 

    "Response needs to be chunked in order to read it as chunks." 

    pass