Revert "Merge pull request #1710 from jvantuyl/master"
authorKenneth Reitz <me@kennethreitz.com>
Wed, 30 Oct 2013 19:32:19 +0000 (15:32 -0400)
committerKenneth Reitz <me@kennethreitz.com>
Wed, 30 Oct 2013 19:32:19 +0000 (15:32 -0400)
This reverts commit a8300c0ae6dd7e6b1655cf80b349e0bf645ff694, reversing
changes made to 2e196be143035fa6d03743d6ca95a2904572f12a.

requests/models.py
requests/packages/urllib3/util.py
test_requests.py

index a9ccaf7b7b996a43c0725ab828291534a282f2a5..a67868e44b286fe5f06a48c6237ccbe8a801c29a 100644 (file)
@@ -327,11 +327,6 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin):
             raise MissingSchema("Invalid URL {0!r}: No schema supplied. "
                                 "Perhaps you meant http://{0}?".format(url))
 
-        # Don't do any URL preparation for oddball schemes
-        if scheme.lower() not in ('http', 'https'):
-            self.url = url
-            return
-
         if not host:
             raise InvalidURL("Invalid URL %r: No host supplied" % url)
 
index 19b7c7e8ba134714a34552bdc4c21bb0711edd9e..cf934d4246f01ffc22a7398da4699a9ced239d9e 100644 (file)
@@ -365,8 +365,6 @@ def parse_url(url):
     # Scheme
     if '://' in url:
         scheme, url = url.split('://', 1)
-    elif ':' in url:
-        scheme, url = url.split(':', 1)
 
     # Find the earliest Authority Terminator
     # (http://tools.ietf.org/html/rfc3986#section-3.2)
index a67be6247b2fcfa54ed44e89b4ef2eb327420d7e..a593db30a26a061a70a4537042b5debf94c3ee2e 100755 (executable)
@@ -678,14 +678,6 @@ class RequestsTestCase(unittest.TestCase):
 
         assert p.headers['Content-Length'] == length
 
-    def test_oddball_schemes_dont_check_URLs(self):
-        r1 = requests.Request('GET', 'data:image/gif;base64,R0lGODlhAQABAHAAACH5BAUAAAAALAAAAAABAAEAAAICRAEAOw==')
-        r1.prepare()
-        r2 = requests.Request('GET', 'file:///etc/passwd')
-        r2.prepare()
-        r3 = requests.Request('GET', 'magnet:?xt=urn:btih:be08f00302bc2d1d3cfa3af02024fa647a271431')
-        r3.prepare()
-
 class TestContentEncodingDetection(unittest.TestCase):
 
     def test_none(self):