diff --git a/gcloud/connection.py b/gcloud/connection.py index 16929eec5684..84b4b33bb7d1 100644 --- a/gcloud/connection.py +++ b/gcloud/connection.py @@ -225,7 +225,8 @@ def _make_request(self, method, url, data=None, content_type=None, else: content_length = 0 - headers['Content-Length'] = content_length + # NOTE: str is intended, bytes are sufficient for headers. + headers['Content-Length'] = str(content_length) if content_type: headers['Content-Type'] = content_type diff --git a/gcloud/storage/test_batch.py b/gcloud/storage/test_batch.py index c7664f184034..f50ba4fe153e 100644 --- a/gcloud/storage/test_batch.py +++ b/gcloud/storage/test_batch.py @@ -115,7 +115,7 @@ def test__make_request_GET_normal(self): self.assertEqual(http._requests, []) EXPECTED_HEADERS = [ ('Accept-Encoding', 'gzip'), - ('Content-Length', 0), + ('Content-Length', '0'), ] solo_request, = batch._requests self.assertEqual(solo_request[0], 'GET') @@ -140,7 +140,7 @@ def test__make_request_POST_normal(self): self.assertEqual(http._requests, []) EXPECTED_HEADERS = [ ('Accept-Encoding', 'gzip'), - ('Content-Length', 10), + ('Content-Length', '10'), ] solo_request, = batch._requests self.assertEqual(solo_request[0], 'POST') @@ -165,7 +165,7 @@ def test__make_request_PATCH_normal(self): self.assertEqual(http._requests, []) EXPECTED_HEADERS = [ ('Accept-Encoding', 'gzip'), - ('Content-Length', 10), + ('Content-Length', '10'), ] solo_request, = batch._requests self.assertEqual(solo_request[0], 'PATCH') @@ -190,7 +190,7 @@ def test__make_request_DELETE_normal(self): self.assertEqual(http._requests, []) EXPECTED_HEADERS = [ ('Accept-Encoding', 'gzip'), - ('Content-Length', 0), + ('Content-Length', '0'), ] solo_request, = batch._requests self.assertEqual(solo_request[0], 'DELETE') diff --git a/gcloud/test_connection.py b/gcloud/test_connection.py index 0af98a821f52..2b7ba10af1d8 100644 --- a/gcloud/test_connection.py +++ b/gcloud/test_connection.py @@ -163,7 +163,7 @@ def test__make_request_no_data_no_content_type_no_headers(self): self.assertEqual(http._called_with['body'], None) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': 0, + 'Content-Length': '0', 'User-Agent': conn.USER_AGENT, } self.assertEqual(http._called_with['headers'], expected_headers) @@ -181,7 +181,7 @@ def test__make_request_w_data_no_extra_headers(self): self.assertEqual(http._called_with['body'], {}) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': 0, + 'Content-Length': '0', 'Content-Type': 'application/json', 'User-Agent': conn.USER_AGENT, } @@ -200,7 +200,7 @@ def test__make_request_w_extra_headers(self): self.assertEqual(http._called_with['body'], None) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': 0, + 'Content-Length': '0', 'X-Foo': 'foo', 'User-Agent': conn.USER_AGENT, } @@ -225,7 +225,7 @@ def test_api_request_defaults(self): self.assertEqual(http._called_with['body'], None) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': 0, + 'Content-Length': '0', 'User-Agent': conn.USER_AGENT, } self.assertEqual(http._called_with['headers'], expected_headers) @@ -274,7 +274,7 @@ def test_api_request_w_query_params(self): self.assertEqual(http._called_with['body'], None) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': 0, + 'Content-Length': '0', 'User-Agent': conn.USER_AGENT, } self.assertEqual(http._called_with['headers'], expected_headers) @@ -301,7 +301,7 @@ def test_api_request_w_data(self): self.assertEqual(http._called_with['body'], DATAJ) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': len(DATAJ), + 'Content-Length': str(len(DATAJ)), 'Content-Type': 'application/json', 'User-Agent': conn.USER_AGENT, } @@ -345,7 +345,7 @@ def test_api_request_non_binary_response(self): self.assertEqual(http._called_with['body'], None) expected_headers = { 'Accept-Encoding': 'gzip', - 'Content-Length': 0, + 'Content-Length': '0', 'User-Agent': conn.USER_AGENT, } self.assertEqual(http._called_with['headers'], expected_headers)