Work on python 2.3

This commit is contained in:
donovan
2008-04-29 18:33:47 -07:00
parent c61ce07bbf
commit 09f3a52239

View File

@@ -158,7 +158,7 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler):
try:
result = self.server.app(self.environ, start_response)
except Exception, e:
exc = traceback.format_exc()
exc = ''.join(traceback.format_exception(*sys.exc_info()))
print exc
if not headers_set:
start_response("500 Internal Server Error", [('Content-type', 'text/plain')])
@@ -170,7 +170,7 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler):
except (TypeError, AttributeError, NotImplementedError):
if self.protocol_version == 'HTTP/1.1':
use_chunked = True
try:
try:
towrite = []
try:
@@ -202,6 +202,9 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler):
finally:
if hasattr(result, 'close'):
result.close()
if self.environ['eventlet.input'].position < self.environ.get('CONTENT_LENGTH', 0):
## Read and discard body
self.environ['eventlet.input'].read()
def get_environ(self):
env = self.server.get_environ()
@@ -249,7 +252,7 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler):
else:
wfile = None
wfile_line = None
env['wsgi.input'] = Input(
env['wsgi.input'] = env['eventlet.input'] = Input(
self.rfile, length, wfile=wfile, wfile_line=wfile_line)
return env