From: Stephen Huenneke Date: Tue, 6 Aug 2013 18:04:03 +0000 (-0700) Subject: Raising ValueError's when we're passed inconsistent POST data and files dict. X-Git-Tag: v2.0~6^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9dd823c289faca0d496ef71f25d36216d2259ca3;p=services%2Fpython-requests.git Raising ValueError's when we're passed inconsistent POST data and files dict. --- diff --git a/requests/models.py b/requests/models.py index 730b9f5..81ec246 100644 --- a/requests/models.py +++ b/requests/models.py @@ -92,8 +92,10 @@ class RequestEncodingMixin(object): if parameters are supplied as a dict. """ - if (not files) or isinstance(data, basestring): - return None + if (not files): + raise ValueError("Files must be provided.") + elif isinstance(data, basestring): + raise ValueError("Data must not be a string.") new_fields = [] fields = to_key_val_list(data or {}) diff --git a/test_requests.py b/test_requests.py index 27d5e67..01e1780 100755 --- a/test_requests.py +++ b/test_requests.py @@ -357,6 +357,12 @@ class RequestsTestCase(unittest.TestCase): except ValueError: pass + with open('requirements.txt') as f: + try: + requests.post(url, data='[{"some": "data"}]', files={'some': f}) + except ValueError: + pass + def test_request_ok_set(self): r = requests.get(httpbin('status', '404')) self.assertEqual(r.ok, False)