http: Add wrapper for mimetools.Message
authorMichael Hanselmann <hansmi@google.com>
Wed, 7 Nov 2012 16:19:46 +0000 (17:19 +0100)
committerMichael Hanselmann <hansmi@google.com>
Thu, 8 Nov 2012 13:19:59 +0000 (14:19 +0100)
A newly added piece of code will also have to parse headers, so having
this wrapper saves us from copying this part of code.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>

lib/http/__init__.py
lib/rapi/testutils.py

index 2719a38..2b401a4 100644 (file)
@@ -323,6 +323,15 @@ class HttpVersionNotSupported(HttpException):
   code = 505
 
 
+def ParseHeaders(buf):
+  """Parses HTTP headers.
+
+  @note: This is just a trivial wrapper around C{mimetools.Message}
+
+  """
+  return mimetools.Message(buf, 0)
+
+
 def SocketOperation(sock, op, arg1, timeout):
   """Wrapper around socket functions.
 
@@ -998,7 +1007,7 @@ class HttpMessageReader(object):
     """
     # Parse headers
     self.header_buffer.seek(0, 0)
-    self.msg.headers = mimetools.Message(self.header_buffer, 0)
+    self.msg.headers = ParseHeaders(self.header_buffer, 0)
 
     self.peer_will_close = self._WillPeerCloseConnection()
 
index f960381..b71f21e 100644 (file)
@@ -25,7 +25,6 @@
 
 import logging
 import re
-import mimetools
 import base64
 import pycurl
 from cStringIO import StringIO
@@ -172,7 +171,7 @@ class FakeCurl:
     else:
       baseheaders = ""
 
-    headers = mimetools.Message(StringIO(baseheaders), 0)
+    headers = http.ParseHeaders(StringIO(baseheaders))
 
     if request_body:
       headers[http.HTTP_CONTENT_LENGTH] = str(len(request_body))