Cumulative patch to http and xmlrpc
This commit is contained in:
Kristján Valur Jónsson 2009-06-28 21:04:17 +00:00
parent 552e7a7e2f
commit e007860b8b
7 changed files with 406 additions and 70 deletions

View file

@ -445,6 +445,7 @@ class TCPServer(BaseServer):
def close_request(self, request):
"""Called to clean up an individual request."""
request.shutdown(socket.SHUT_WR)
request.close()
@ -610,12 +611,11 @@ class BaseRequestHandler:
self.request = request
self.client_address = client_address
self.server = server
self.setup()
try:
self.setup()
self.handle()
self.finish()
finally:
sys.exc_traceback = None # Help garbage collection
self.finish()
def setup(self):
pass
@ -649,12 +649,17 @@ class StreamRequestHandler(BaseRequestHandler):
rbufsize = -1
wbufsize = 0
# A timeout to apply to the request socket, if not None.
timeout = None
# Disable nagle algoritm for this socket, if True.
# Use only when wbufsize != 0, to avoid small packets.
disable_nagle_algorithm = False
def setup(self):
self.connection = self.request
if self.timeout is not None:
self.connection.settimeout(self.timeout)
if self.disable_nagle_algorithm:
self.connection.setsockopt(socket.IPPROTO_TCP,
socket.TCP_NODELAY, True)