self.interface = None
self.key_file = key_file
self.cert_file = cert_file
- SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self, True, None)
+ #for compatibility with python 2.4 (centos53)
+ if sys.version_info < (2, 5):
+ SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self)
+ else:
+ SimpleXMLRPCServer.SimpleXMLRPCDispatcher.__init__(self, True, None)
SocketServer.BaseServer.__init__(self, server_address, HandlerClass)
ctx = SSL.Context(SSL.SSLv23_METHOD)
ctx.use_privatekey_file(key_file)
# check to see if a subclass implements _dispatch and dispatch
# using that method if present.
#response = self.server._marshaled_dispatch(request, getattr(self, '_dispatch', None))
- # XX TODO: Need to get the real remote address
- source = None
- response = self.api.handle(source, request)
+ remote_addr = (remote_ip, remote_port) = self.connection.getpeername()
+ self.api.remote_addr = remote_addr
+ response = self.api.handle(remote_addr, request)
except Exception, fault:
+ raise
# This should only happen if the module is buggy
# internal error, report as HTTP server error
self.send_response(500)