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

# -*- coding: utf-8 -*- 

 

""" 

requests.exceptions 

~~~~~~~~~~~~~~~~~~~ 

 

This module contains the set of Requests' exceptions. 

 

""" 

from .packages.urllib3.exceptions import HTTPError as BaseHTTPError 

 

 

class RequestException(IOError): 

    """There was an ambiguous exception that occurred while handling your 

    request.""" 

 

    def __init__(self, *args, **kwargs): 

        """ 

        Initialize RequestException with `request` and `response` objects. 

        """ 

        response = kwargs.pop('response', None) 

        self.response = response 

        self.request = kwargs.pop('request', None) 

        if (response is not None and not self.request and 

                hasattr(response, 'request')): 

            self.request = self.response.request 

        super(RequestException, self).__init__(*args, **kwargs) 

 

 

class HTTPError(RequestException): 

    """An HTTP error occurred.""" 

 

 

class ConnectionError(RequestException): 

    """A Connection error occurred.""" 

 

 

class ProxyError(ConnectionError): 

    """A proxy error occurred.""" 

 

 

class SSLError(ConnectionError): 

    """An SSL error occurred.""" 

 

 

class Timeout(RequestException): 

    """The request timed out. 

 

    Catching this error will catch both 

    :exc:`~requests.exceptions.ConnectTimeout` and 

    :exc:`~requests.exceptions.ReadTimeout` errors. 

    """ 

 

 

class ConnectTimeout(ConnectionError, Timeout): 

    """The request timed out while trying to connect to the remote server. 

 

    Requests that produced this error are safe to retry. 

    """ 

 

 

class ReadTimeout(Timeout): 

    """The server did not send any data in the allotted amount of time.""" 

 

 

class URLRequired(RequestException): 

    """A valid URL is required to make a request.""" 

 

 

class TooManyRedirects(RequestException): 

    """Too many redirects.""" 

 

 

class MissingSchema(RequestException, ValueError): 

    """The URL schema (e.g. http or https) is missing.""" 

 

 

class InvalidSchema(RequestException, ValueError): 

    """See defaults.py for valid schemas.""" 

 

 

class InvalidURL(RequestException, ValueError): 

    """ The URL provided was somehow invalid. """ 

 

 

class ChunkedEncodingError(RequestException): 

    """The server declared chunked encoding but sent an invalid chunk.""" 

 

 

class ContentDecodingError(RequestException, BaseHTTPError): 

    """Failed to decode response content""" 

 

 

class StreamConsumedError(RequestException, TypeError): 

    """The content for this response was already consumed""" 

 

 

class RetryError(RequestException): 

    """Custom retries logic failed"""