mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Merge pull request #29 from meganemura/requests
--- raised Attribute Error when post str data something like json because of not having items attribute. move encoding data to utf-8 inside hasattr(data, items)
This commit is contained in:
+6
-7
@@ -69,18 +69,17 @@ class Request(object):
|
||||
self.headers = headers
|
||||
self.files = files
|
||||
self.method = method
|
||||
|
||||
self.data = {}
|
||||
for (k, v) in data.items():
|
||||
self.data.update({
|
||||
k.encode('utf-8') if isinstance(k, unicode) else k:
|
||||
v.encode('utf-8') if isinstance(v, unicode) else v
|
||||
})
|
||||
|
||||
socket.setdefaulttimeout(timeout)
|
||||
|
||||
# url encode data if it's a dict
|
||||
if hasattr(data, 'items'):
|
||||
for (k, v) in data.items():
|
||||
self.data.update({
|
||||
k.encode('utf-8') if isinstance(k, unicode) else k:
|
||||
v.encode('utf-8') if isinstance(v, unicode) else v
|
||||
})
|
||||
# url encode data if it's a dict
|
||||
self._enc_data = urllib.urlencode(self.data)
|
||||
else:
|
||||
self._enc_data = self.data
|
||||
|
||||
@@ -79,6 +79,9 @@ class RequestsTestSuite(unittest.TestCase):
|
||||
post2 = requests.post(bin.url, files={'some': open('test_requests.py')})
|
||||
self.assertEqual(post2.status_code, 201)
|
||||
|
||||
post3 = requests.post(bin.url, data='[{"some": "json"}]')
|
||||
self.assertEqual(post.status_code, 201)
|
||||
|
||||
def test_POSTBIN_GET_POST_FILES_WITH_PARAMS(self):
|
||||
bin = requests.post('http://www.postbin.org/')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user