mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Fixed issue #747
Bound the name builtin_str to __builtin__.str and added another check for this class since the str class was rebound to unicode in compat. This issue was only for Python 2 as well.
This commit is contained in:
+3
-1
@@ -34,6 +34,8 @@ from .compat import (
|
||||
cookielib, urlparse, urlunparse, urljoin, urlsplit, urlencode, str, bytes,
|
||||
StringIO, is_py2, chardet, json)
|
||||
|
||||
from __builtin__ import str as builtin_str
|
||||
|
||||
REDIRECT_STATI = (codes.moved, codes.found, codes.other, codes.temporary_moved)
|
||||
CONTENT_CHUNK_SIZE = 10 * 1024
|
||||
|
||||
@@ -493,7 +495,7 @@ class Request(object):
|
||||
if self.data:
|
||||
|
||||
body = self._encode_params(self.data)
|
||||
if isinstance(self.data, str) or hasattr(self.data, 'read'):
|
||||
if isinstance(self.data, str) or isinstance(self.data, builtin_str) or hasattr(self.data, 'read'):
|
||||
content_type = None
|
||||
else:
|
||||
content_type = 'application/x-www-form-urlencoded'
|
||||
|
||||
@@ -974,10 +974,10 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase):
|
||||
self.assertEqual(t.get('files'), files)
|
||||
|
||||
def test_str_data_content_type(self):
|
||||
data = "test string data"
|
||||
data = 'test string data'
|
||||
r = post(httpbin('post'), data=data)
|
||||
t = json.loads(r.text)
|
||||
self.assertEqual(t.get('headers').get('Content-Type'), 'text/plain')
|
||||
self.assertEqual(t.get('headers').get('Content-Type'), '')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user