raise NotImplementedError('Streamed bodies and files are mutually exclusive.')
if length is not None:
- self.headers['Content-Length'] = str(length)
+ self.headers['Content-Length'] = builtin_str(length)
else:
self.headers['Transfer-Encoding'] = 'chunked'
else:
def prepare_content_length(self, body):
if hasattr(body, 'seek') and hasattr(body, 'tell'):
body.seek(0, 2)
- self.headers['Content-Length'] = str(body.tell())
+ self.headers['Content-Length'] = builtin_str(body.tell())
body.seek(0, 0)
elif body is not None:
l = super_len(body)
if l:
- self.headers['Content-Length'] = str(l)
+ self.headers['Content-Length'] = builtin_str(l)
elif self.method not in ('GET', 'HEAD'):
self.headers['Content-Length'] = '0'
self.assertTrue('multipart/form-data' in p.headers['Content-Type'])
+ def test_autoset_header_values_are_native(self):
+ data = 'this is a string'
+ length = '16'
+ req = requests.Request('POST', httpbin('post'), data=data)
+ p = req.prepare()
+
+ self.assertEqual(p.headers['Content-Length'], length)
+
class TestContentEncodingDetection(unittest.TestCase):