gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / lib / requests / exceptions.py @ 564
History | View | Annotate | Download (2.71 KB)
1 |
# -*- coding: utf-8 -*-
|
---|---|
2 |
|
3 |
"""
|
4 |
requests.exceptions
|
5 |
~~~~~~~~~~~~~~~~~~~
|
6 |
|
7 |
This module contains the set of Requests' exceptions.
|
8 |
|
9 |
"""
|
10 |
from .packages.urllib3.exceptions import HTTPError as BaseHTTPError |
11 |
|
12 |
|
13 |
class 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 |
|
30 |
class HTTPError(RequestException): |
31 |
"""An HTTP error occurred."""
|
32 |
|
33 |
|
34 |
class ConnectionError(RequestException): |
35 |
"""A Connection error occurred."""
|
36 |
|
37 |
|
38 |
class ProxyError(ConnectionError): |
39 |
"""A proxy error occurred."""
|
40 |
|
41 |
|
42 |
class SSLError(ConnectionError): |
43 |
"""An SSL error occurred."""
|
44 |
|
45 |
|
46 |
class 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 |
|
55 |
class 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 |
|
62 |
class ReadTimeout(Timeout): |
63 |
"""The server did not send any data in the allotted amount of time."""
|
64 |
|
65 |
|
66 |
class URLRequired(RequestException): |
67 |
"""A valid URL is required to make a request."""
|
68 |
|
69 |
|
70 |
class TooManyRedirects(RequestException): |
71 |
"""Too many redirects."""
|
72 |
|
73 |
|
74 |
class MissingSchema(RequestException, ValueError): |
75 |
"""The URL schema (e.g. http or https) is missing."""
|
76 |
|
77 |
|
78 |
class InvalidSchema(RequestException, ValueError): |
79 |
"""See defaults.py for valid schemas."""
|
80 |
|
81 |
|
82 |
class InvalidURL(RequestException, ValueError): |
83 |
""" The URL provided was somehow invalid. """
|
84 |
|
85 |
|
86 |
class ChunkedEncodingError(RequestException): |
87 |
"""The server declared chunked encoding but sent an invalid chunk."""
|
88 |
|
89 |
|
90 |
class ContentDecodingError(RequestException, BaseHTTPError): |
91 |
"""Failed to decode response content"""
|
92 |
|
93 |
|
94 |
class StreamConsumedError(RequestException, TypeError): |
95 |
"""The content for this response was already consumed"""
|
96 |
|
97 |
|
98 |
class RetryError(RequestException): |
99 |
"""Custom retries logic failed"""
|
100 |
|
101 |
|
102 |
# Warnings
|
103 |
|
104 |
|
105 |
class RequestsWarning(Warning): |
106 |
"""Base warning for Requests."""
|
107 |
pass
|
108 |
|
109 |
|
110 |
class FileModeWarning(RequestsWarning, DeprecationWarning): |
111 |
"""
|
112 |
A file was opened in text mode, but Requests determined its binary length.
|
113 |
"""
|
114 |
pass
|