SF patch #747364: BaseHTTPServer doesn't need StringIO intermediary
(Contributed by Andrew Dalke.)
diff --git a/Lib/BaseHTTPServer.py b/Lib/BaseHTTPServer.py
index edb15ab..15e7525 100644
--- a/Lib/BaseHTTPServer.py
+++ b/Lib/BaseHTTPServer.py
@@ -75,7 +75,6 @@
import socket # For gethostbyaddr()
import mimetools
import SocketServer
-import cStringIO
# Default error message
DEFAULT_ERROR_MESSAGE = """\
@@ -276,17 +275,8 @@
return False
self.command, self.path, self.request_version = command, path, version
- # Deal with pipelining
- bytes = ""
- while 1:
- line = self.rfile.readline()
- bytes = bytes + line
- if line == '\r\n' or line == '\n' or line == '':
- break
-
# Examine the headers and look for a Connection directive
- hfile = cStringIO.StringIO(bytes)
- self.headers = self.MessageClass(hfile)
+ self.headers = self.MessageClass(self.rfile, 0)
conntype = self.headers.get('Connection', "")
if conntype.lower() == 'close':