ensure content-length response header is set
diff --git a/googleapiclient/http.py b/googleapiclient/http.py
index 733a12a..cdc9f58 100644
--- a/googleapiclient/http.py
+++ b/googleapiclient/http.py
@@ -559,8 +559,10 @@
         content_range = resp['content-range']
         length = content_range.rsplit('/', 1)[1]
         self._total_size = int(length)
-      else:
+      elif 'content-length' in resp:
         self._total_size = int(resp['content-length'])
+      else:
+        raise HttpError(resp, content, uri=self._uri)
 
       if self._progress == self._total_size:
         self._done = True