From: Jeff Mancuso Date: Thu, 23 May 2013 15:21:29 +0000 (-0400) Subject: Only switch to chunked if we don't know the length of a file like object. This fixes... X-Git-Tag: 2.0~19^2~13^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7c9bbb96f8cebe873e26bf2f5f306c130e98e7d;p=services%2Fpython-requests.git Only switch to chunked if we don't know the length of a file like object. This fixes the case of trying to upload a 0-length file - chunked upload was being forced. Services like S3 that disallow chunked upload will fail. --- diff --git a/requests/models.py b/requests/models.py index 6cf2aaa..d894d9f 100644 --- a/requests/models.py +++ b/requests/models.py @@ -364,7 +364,7 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): try: length = super_len(data) except (TypeError, AttributeError): - length = False + length = None if is_stream: body = data @@ -372,7 +372,7 @@ class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): if files: raise NotImplementedError('Streamed bodies and files are mutually exclusive.') - if length: + if length is not None: self.headers['Content-Length'] = str(length) else: self.headers['Transfer-Encoding'] = 'chunked'