X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fthreadedserver.py;h=7a26ad272f7f65e2ad4e4be57af5d6212e3d0bc7;hb=06768bd605e5d47fadfc90a35c74e30f267226a5;hp=dbdde3f2f7d02bed12b2e0f58c180c6897d5f54d;hpb=7e1d7d63b6e65af7451c533fda704b14e327e48f;p=sfa.git diff --git a/sfa/server/threadedserver.py b/sfa/server/threadedserver.py index dbdde3f2..7a26ad27 100644 --- a/sfa/server/threadedserver.py +++ b/sfa/server/threadedserver.py @@ -11,7 +11,6 @@ import socket import traceback import threading from Queue import Queue -import xmlrpclib import SocketServer import BaseHTTPServer import SimpleXMLRPCServer @@ -22,6 +21,7 @@ from sfa.util.config import Config from sfa.util.cache import Cache from sfa.trust.certificate import Certificate from sfa.trust.trustedroots import TrustedRoots +from sfa.util.py23 import xmlrpc_client # don't hard code an api class anymore here from sfa.generic import Generic @@ -119,7 +119,7 @@ class SecureXMLRpcRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): remote_addr = (remote_ip, remote_port) = self.connection.getpeername() self.api.remote_addr = remote_addr response = self.api.handle(remote_addr, request, self.server.method_map) - except Exception, fault: + except Exception as fault: # This should only happen if the module is buggy # internal error, report as HTTP server error logger.log_exc("server.do_POST") @@ -145,11 +145,13 @@ class SecureXMLRpcRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): class SecureXMLRPCServer(BaseHTTPServer.HTTPServer,SimpleXMLRPCServer.SimpleXMLRPCDispatcher): def __init__(self, server_address, HandlerClass, key_file, cert_file, logRequests=True): - """Secure XML-RPC server. + """ + Secure XML-RPC server. It it very similar to SimpleXMLRPCServer but it uses HTTPS for transporting XML data. """ - logger.debug("SecureXMLRPCServer.__init__, server_address=%s, cert_file=%s, key_file=%s"%(server_address,cert_file,key_file)) + logger.debug("SecureXMLRPCServer.__init__, server_address=%s, " + "cert_file=%s, key_file=%s"%(server_address,cert_file,key_file)) self.logRequests = logRequests self.interface = None self.key_file = key_file @@ -193,7 +195,7 @@ class SecureXMLRPCServer(BaseHTTPServer.HTTPServer,SimpleXMLRPCServer.SimpleXMLR # can't use format_exc() as it is not available in jython yet # (even in trunk). type, value, tb = sys.exc_info() - raise xmlrpclib.Fault(1,''.join(traceback.format_exception(type, value, tb))) + raise xmlrpc_client.Fault(1,''.join(traceback.format_exception(type, value, tb))) # override this one from the python 2.7 code # originally defined in class TCPServer