From 29c3af811c830d52871d63e592130f442716118c Mon Sep 17 00:00:00 2001
From: Sam Morrison <sorrison@gmail.com>
Date: Wed, 15 Aug 2012 14:31:16 +1000
Subject: [PATCH] Ensure Content-Length header when PUT/POST a container

Fixes bug #951155

Change-Id: Ib1455ddb142137cc0946d50a66540eae6402f598
---
 swiftclient/client.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/swiftclient/client.py b/swiftclient/client.py
index 8d7fd03e..88a0b1f3 100644
--- a/swiftclient/client.py
+++ b/swiftclient/client.py
@@ -556,6 +556,8 @@ def put_container(url, token, container, headers=None, http_conn=None):
     if not headers:
         headers = {}
     headers['X-Auth-Token'] = token
+    if not 'content-length' in (k.lower() for k in headers):
+        headers['Content-Length'] = 0
     conn.request(method, path, '', headers)
     resp = conn.getresponse()
     body = resp.read()
@@ -588,6 +590,8 @@ def post_container(url, token, container, headers, http_conn=None):
     path = '%s/%s' % (parsed.path, quote(container))
     method = 'POST'
     headers['X-Auth-Token'] = token
+    if not 'content-length' in (k.lower() for k in headers):
+        headers['Content-Length'] = 0
     conn.request(method, path, '', headers)
     resp = conn.getresponse()
     body = resp.read()