http_server: allow requests to "see" the protocol of the server

Needed for WebDAV.

Conflicts:

	bin/service/http_server.py

bzr revid: p_christ@hol.gr-20101123151740-ovx7jg8yp3070qqe
This commit is contained in:
P. Christeas
2010-11-23 17:17:40 +02:00
parent 792c8eba19
commit 1a0a2535a2
+4 -3
View File
@@ -67,7 +67,7 @@ class ThreadedHTTPServer(ConnThreadingMixIn, SimpleXMLRPCDispatcher, HTTPServer)
_send_traceback_header = False
i = 0
def __init__(self, addr, requestHandler,
def __init__(self, addr, requestHandler, proto='http',
logRequests=True, allow_none=False, encoding=None, bind_and_activate=True):
self.logRequests = logRequests
@@ -75,6 +75,7 @@ class ThreadedHTTPServer(ConnThreadingMixIn, SimpleXMLRPCDispatcher, HTTPServer)
HTTPServer.__init__(self, addr, requestHandler)
self.numThreads = 0
self.proto = proto
self.__threadno = 0
# [Bug #1222790] If possible, set close-on-exec flag; if a
@@ -143,7 +144,7 @@ class BaseHttpDaemon(threading.Thread, netsvc.Server):
self.__interface = interface
try:
self.server = ThreadedHTTPServer((interface, port), handler)
self.server = ThreadedHTTPServer((interface, port), handler, proto=self._RealProto)
self.server.vdirs = []
self.server.logRequests = True
self.server.timeout = self._busywait_timeout
@@ -178,7 +179,7 @@ class BaseHttpDaemon(threading.Thread, netsvc.Server):
def stats(self):
res = "%sd: " % self._RealProto + ((self.running and "running") or "stopped")
if self.server:
res += ", %d threads" % (self.server.numThreads,)
res += ", %d threads" % (self.server.numThreads,)
return res
def append_svc(self, service):