diff options
Diffstat (limited to 'requests/exceptions.py')
| -rw-r--r-- | requests/exceptions.py | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/requests/exceptions.py b/requests/exceptions.py index c7b98e6..22207e3 100644 --- a/requests/exceptions.py +++ b/requests/exceptions.py @@ -8,24 +8,52 @@ This module contains the set of Requests' exceptions. """ -class RequestException(Exception): + +class RequestException(IOError): """There was an ambiguous exception that occurred while handling your request.""" + class HTTPError(RequestException): """An HTTP error occurred.""" + def __init__(self, *args, **kwargs): + """ Initializes HTTPError with optional `response` object. """ + self.response = kwargs.pop('response', None) + super(HTTPError, self).__init__(*args, **kwargs) + + class ConnectionError(RequestException): """A Connection error occurred.""" + class SSLError(ConnectionError): """An SSL error occurred.""" + class Timeout(RequestException): """The request timed out.""" + 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.""" |
