Handle too many redirects.

This commit is contained in:
Jérémy Bethmont
2011-08-09 17:28:58 +02:00
parent e776242de1
commit e7e395549f
2 changed files with 7 additions and 1 deletions
+3
View File
@@ -21,3 +21,6 @@ class URLRequired(RequestException):
class InvalidMethod(RequestException):
"""An inappropriate method was attempted."""
class TooManyRedirects(RequestException):
"""Too many redirects."""
+4 -1
View File
@@ -20,7 +20,7 @@ from .monkeys import Request as _Request, HTTPBasicAuthHandler, HTTPForcedBasicA
from .structures import CaseInsensitiveDict
from .packages.poster.encode import multipart_encode
from .packages.poster.streaminghttp import register_openers, get_handlers
from .exceptions import RequestException, AuthenticationError, Timeout, URLRequired, InvalidMethod
from .exceptions import RequestException, AuthenticationError, Timeout, URLRequired, InvalidMethod, TooManyRedirects
REDIRECT_STATI = (301, 302, 303, 307)
@@ -192,6 +192,9 @@ class Request(object):
(self.allow_redirects))
):
if not len(history) < 30:
raise TooManyRedirects()
history.append(r)
url = r.headers['location']