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