get the correct remote address
[sfa.git] / sfa / util / geniserver.py
index 57d97eb..01c6864 100644 (file)
@@ -158,12 +158,16 @@ class SecureXMLRpcRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
             # 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)
+            # XX TODO: Need to get the real remote address
+            remote_addr = (remote_ip, remote_port) = self.connection.getpeername()
+            self.api.remote_addr = remote_addr
+            #remote_addr = (self.rfile.connection.remote_ip, remote_port)
+            #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)