From 86b39bf3e33c174f5535207082ccac64aaf7aa45 Mon Sep 17 00:00:00 2001 From: Stephen Zhuang Date: Mon, 8 Oct 2012 16:52:06 +0800 Subject: [PATCH] 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 7831149..f34b6f7 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 3d6f49c..3e60081 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: -- 2.7.4