From: Cory Benfield Date: Fri, 2 Aug 2013 11:29:23 +0000 (+0100) Subject: Better percent-escape exception. X-Git-Tag: v2.0~5^2~13^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5a26241287162ff592c81dbfbbd013e309c85c05;p=services%2Fpython-requests.git Better percent-escape exception. --- diff --git a/requests/utils.py b/requests/utils.py index 347f2be..00da266 100644 --- a/requests/utils.py +++ b/requests/utils.py @@ -25,7 +25,7 @@ from .compat import (quote, urlparse, bytes, str, OrderedDict, urlunparse, is_py2, is_py3, builtin_str, getproxies, proxy_bypass) from .cookies import RequestsCookieJar, cookiejar_from_dict from .structures import CaseInsensitiveDict -from .exceptions import MissingSchema +from .exceptions import MissingSchema, InvalidURL _hush_pyflakes = (RequestsCookieJar,) @@ -363,7 +363,11 @@ def unquote_unreserved(uri): for i in range(1, len(parts)): h = parts[i][0:2] if len(h) == 2 and h.isalnum(): - c = chr(int(h, 16)) + try: + c = chr(int(h, 16)) + except ValueError: + raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) + if c in UNRESERVED_SET: parts[i] = c + parts[i][2:] else: