Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/botocore/vendored/requests/exceptions.py: 81%

26 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-12-08 06:51 +0000

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

2 

3""" 

4requests.exceptions 

5~~~~~~~~~~~~~~~~~~~ 

6 

7This module contains the set of Requests' exceptions. 

8 

9""" 

10from .packages.urllib3.exceptions import HTTPError as BaseHTTPError 

11 

12 

13class RequestException(IOError): 

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

15 request.""" 

16 

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

18 """ 

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

20 """ 

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

22 self.response = response 

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

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

25 hasattr(response, 'request')): 

26 self.request = self.response.request 

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

28 

29 

30class HTTPError(RequestException): 

31 """An HTTP error occurred.""" 

32 

33 

34class ConnectionError(RequestException): 

35 """A Connection error occurred.""" 

36 

37 

38class ProxyError(ConnectionError): 

39 """A proxy error occurred.""" 

40 

41 

42class SSLError(ConnectionError): 

43 """An SSL error occurred.""" 

44 

45 

46class Timeout(RequestException): 

47 """The request timed out. 

48 

49 Catching this error will catch both 

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

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

52 """ 

53 

54 

55class ConnectTimeout(ConnectionError, Timeout): 

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

57 

58 Requests that produced this error are safe to retry. 

59 """ 

60 

61 

62class ReadTimeout(Timeout): 

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

64 

65 

66class URLRequired(RequestException): 

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

68 

69 

70class TooManyRedirects(RequestException): 

71 """Too many redirects.""" 

72 

73 

74class MissingSchema(RequestException, ValueError): 

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

76 

77 

78class InvalidSchema(RequestException, ValueError): 

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

80 

81 

82class InvalidURL(RequestException, ValueError): 

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

84 

85 

86class ChunkedEncodingError(RequestException): 

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

88 

89 

90class ContentDecodingError(RequestException, BaseHTTPError): 

91 """Failed to decode response content""" 

92 

93 

94class StreamConsumedError(RequestException, TypeError): 

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

96 

97 

98class RetryError(RequestException): 

99 """Custom retries logic failed"""