extras-buildsys/common XMLRPCServerProxy.py,1.2,1.3

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Sat Jul 9 21:44:25 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/common
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12137/common

Modified Files:
	XMLRPCServerProxy.py 
Log Message:
Simplify our SSL_Transport class


Index: XMLRPCServerProxy.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/common/XMLRPCServerProxy.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XMLRPCServerProxy.py	6 Jul 2005 21:20:55 -0000	1.2
+++ XMLRPCServerProxy.py	9 Jul 2005 21:44:23 -0000	1.3
@@ -21,60 +21,25 @@
 
 __version__='0.12'
 
-class SSL_Transport(xmlrpclib.Transport):
+class PlgSSL_Transport(xmlrpclib.Transport):
 
     user_agent = "pyOpenSSL_XMLRPC/%s - %s" % (__version__, xmlrpclib.Transport.user_agent)
 
     def __init__(self, ssl_context):
         self.ssl_ctx=ssl_context
 
-    def request(self, host, handler, request_body, verbose=0):
+    def make_connection(self, host):
         # Handle username and password.
-        user_passwd, host_port = urllib.splituser(host)
-        _host, _port = urllib.splitport(host_port)
-        h = SSLCommon.PlgHTTPS(_host, int(_port), ssl_context=self.ssl_ctx)
-        if verbose:
-            h.set_debuglevel(1)
+        host, extra_headers, x509 = self.get_host_info(host)
+        _host, _port = urllib.splitport(host)
+        return SSLCommon.PlgHTTPS(_host, int(_port), ssl_context=self.ssl_ctx)
 
-        # What follows is as in xmlrpclib.Transport. (Except the authz bit.)
-        h.putrequest("POST", handler)
 
-        # required by HTTP/1.1
-        h.putheader("Host", _host)
-
-        # required by XML-RPC
-        h.putheader("User-Agent", self.user_agent)
-        h.putheader("Content-Type", "text/xml")
-        h.putheader("Content-Length", str(len(request_body)))
-
-        # Authorisation.
-        if user_passwd is not None:
-            auth=string.strip(base64.encodestring(user_passwd))
-            h.putheader('Authorization', 'Basic %s' % auth)
-
-        h.endheaders()
-
-        if request_body:
-            h.send(request_body)
-
-        errcode, errmsg, headers = h.getreply()
-
-        if errcode != 200:
-            raise ProtocolError(
-                host + handler,
-                errcode, errmsg,
-                headers
-                )
-
-        self.verbose = verbose
-        return self.parse_response(h.getfile())
-
-
-class XMLRPCServerProxy(xmlrpclib.ServerProxy):
+class PlgXMLRPCServerProxy(xmlrpclib.ServerProxy):
     def __init__(self, uri, certs):
         if certs and len(certs) > 0:
             self.ctx = SSLCommon.CreateSSLContext(certs)
-            xmlrpclib.ServerProxy.__init__(self, uri, SSL_Transport(ssl_context=self.ctx))
+            xmlrpclib.ServerProxy.__init__(self, uri, PlgSSL_Transport(ssl_context=self.ctx))
         else:
             xmlrpclib.ServerProxy.__init__(self, uri)
 




More information about the fedora-extras-commits mailing list