From 86b39bf3e33c174f5535207082ccac64aaf7aa45 Mon Sep 17 00:00:00 2001 From: Stephen Zhuang Date: Mon, 8 Oct 2012 16:52:06 +0800 Subject: [PATCH 1/3] Support CJK parameters when post files --- requests/models.py | 4 ++-- tests/test_requests.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/requests/models.py b/requests/models.py index 78311491..f34b6f76 100644 --- a/requests/models.py +++ b/requests/models.py @@ -360,9 +360,9 @@ class Request(object): for field, val in fields: if isinstance(val, list): for v in val: - new_fields.append((field, str(v))) + new_fields.append((field, builtin_str(v))) else: - new_fields.append((field, str(val))) + new_fields.append((field, builtin_str(val))) for (k, v) in files: # support for explicit filename diff --git a/tests/test_requests.py b/tests/test_requests.py index 3d6f49c2..3e600819 100755 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -347,6 +347,23 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): self.assertEqual(post2.status_code, 200) self.assertEqual(post3.status_code, 200) + def test_POSTBIN_GET_POST_FILES_WITH_CJK_PARAMS(self): + + for service in SERVICES: + + with open(__file__) as f: + url = service('post') + post1 = post(url, + files={'some': f}, + data={'some': '中文'}) + post2 = post(url, data={'some': '日本語'}, files=[('some', f)]) + post3 = post(url, data=[('some', '한국의')], + files=[('some', f)]) + + self.assertEqual(post1.status_code, 200) + self.assertEqual(post2.status_code, 200) + self.assertEqual(post3.status_code, 200) + def test_POSTBIN_GET_POST_FILES_WITH_HEADERS(self): for service in SERVICES: From 2d9f953d4cf24f245764f2d700ab5024d6f22110 Mon Sep 17 00:00:00 2001 From: Stephen Zhuang Date: Tue, 9 Oct 2012 11:20:48 +0800 Subject: [PATCH 2/3] Add name to AUTHORS according to Contribute section --- AUTHORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.rst b/AUTHORS.rst index 1d66c4bf..9a7f25d5 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -114,3 +114,4 @@ Patches and Suggestions - Ian Cordasco @sigmavirus24 - Rhys Elsmore - André Graf (dergraf) +- Stephen Zhuang (everbird) From bb9e72885a9a516550efbe1a1f40c780a3e2554d Mon Sep 17 00:00:00 2001 From: Stephen Zhuang Date: Tue, 9 Oct 2012 23:19:42 +0800 Subject: [PATCH 3/3] For the uniformity :) --- tests/test_requests.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/tests/test_requests.py b/tests/test_requests.py index 3e600819..6726de8e 100755 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -336,12 +336,9 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): with open(__file__) as f: url = service('post') - post1 = post(url, - files={'some': f}, - data={'some': 'data'}) + post1 = post(url, data={'some': 'data'}, files={'some': f}) post2 = post(url, data={'some': 'data'}, files=[('some', f)]) - post3 = post(url, data=[('some', 'data')], - files=[('some', f)]) + post3 = post(url, data=[('some', 'data')], files=[('some', f)]) self.assertEqual(post1.status_code, 200) self.assertEqual(post2.status_code, 200) @@ -353,12 +350,9 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): with open(__file__) as f: url = service('post') - post1 = post(url, - files={'some': f}, - data={'some': '中文'}) + post1 = post(url, data={'some': '中文'}, files={'some': f}) post2 = post(url, data={'some': '日本語'}, files=[('some', f)]) - post3 = post(url, data=[('some', '한국의')], - files=[('some', f)]) + post3 = post(url, data=[('some', '한국의')], files=[('some', f)]) self.assertEqual(post1.status_code, 200) self.assertEqual(post2.status_code, 200)