diff --git a/stripe/api_requestor.py b/stripe/api_requestor.py index 97a2cccdd..36a2075e0 100644 --- a/stripe/api_requestor.py +++ b/stripe/api_requestor.py @@ -332,7 +332,8 @@ def request_raw(self, method, url, params=None, supplied_headers=None): util.log_info('Request to Stripe api', method=method, path=abs_url) util.log_debug( - 'Post details', post_data=post_data, api_version=self.api_version) + 'Post details', + post_data=encoded_params, api_version=self.api_version) rbody, rcode, rheaders = self._client.request( method, abs_url, headers, post_data) diff --git a/tests/test_api_requestor.py b/tests/test_api_requestor.py index 350e6887d..a8e162361 100644 --- a/tests/test_api_requestor.py +++ b/tests/test_api_requestor.py @@ -2,6 +2,7 @@ import datetime import unittest2 +import tempfile from mock import Mock, ANY @@ -475,6 +476,15 @@ def test_invalid_grant_error(self): self.requestor.request, 'get', self.valid_path, {}) + def test_raw_request_with_file_param(self): + test_file = tempfile.NamedTemporaryFile() + test_file.write('\u263A'.encode('utf-16')) + test_file.seek(0) + params = {'file': test_file, 'purpose': 'dispute_evidence'} + supplied_headers = {'Content-Type': 'multipart/form-data'} + self.mock_response('{}', 200) + self.requestor.request('post', '/v1/files', params, supplied_headers) + class DefaultClientTests(unittest2.TestCase):