File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -155,3 +155,4 @@ Patches and Suggestions
155155- Ben Bass (`@codedstructure <https://github.com/codedstructure >`_)
156156- Jonathan Wong <evolutionace@gmail.com> (`@ContinuousFunction <https://github.com/ContinuousFunction >`_)
157157- Martin Jul (`@mjul <https://github.com/mjul >`_)
158+ - Joe Alcorn (`@buttscicles <https://github.com/buttscicles >`_)
Original file line number Diff line number Diff line change @@ -326,13 +326,14 @@ def prepare_method(self, method):
326326 def prepare_url (self , url , params ):
327327 """Prepares the given HTTP URL."""
328328 #: Accept objects that have string representations.
329+ #: We're unable to blindy call unicode/str functions
330+ #: as this will include the bytestring indicator (b'')
331+ #: on python 3.x.
332+ #: https://github.com/kennethreitz/requests/pull/2238
329333 try :
330- url = unicode (url )
331- except NameError :
332- # We're on Python 3.
333- url = str (url )
334- except UnicodeDecodeError :
335- pass
334+ url = url .decode ('utf8' )
335+ except AttributeError :
336+ url = unicode (url ) if is_py2 else str (url )
336337
337338 # Don't do any URL preparation for non-HTTP schemes like `mailto`,
338339 # `data` etc to work around exceptions from `url_parse`, which
Original file line number Diff line number Diff line change @@ -591,6 +591,12 @@ def __call__(self, r):
591591 assert resp .json ()['headers' ][
592592 'Dummy-Auth-Test' ] == 'dummy-auth-test-ok'
593593
594+ def test_prepare_request_with_bytestring_url (self ):
595+ req = requests .Request ('GET' , b'https://httpbin.org/' )
596+ s = requests .Session ()
597+ prep = s .prepare_request (req )
598+ assert prep .url == "https://httpbin.org/"
599+
594600 def test_links (self ):
595601 r = requests .Response ()
596602 r .headers = {
You can’t perform that action at this time.
0 commit comments