Changeset 2454
- Timestamp:
- 06/15/09 23:06:32
- Files:
-
- branches/python3/cherrypy/test/test_xmlrpc.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/python3/cherrypy/test/test_xmlrpc.py
r2156 r2454 73 73 74 74 75 class HTTPSTransport(xmlrpc.client.SafeTransport):76 """Subclass of SafeTransport to fix sock.recv errors (by using file)."""77 78 def request(self, host, handler, request_body, verbose=0):79 # issue XML-RPC request80 h = self.make_connection(host)81 if verbose:82 h.set_debuglevel(1)83 84 self.send_request(h, handler, request_body)85 self.send_host(h, host)86 self.send_user_agent(h)87 self.send_content(h, request_body)88 89 errcode, errmsg, headers = h.getreply()90 if errcode != 200:91 raise xmlrpc.client.ProtocolError(host + handler, errcode, errmsg,92 headers)93 94 self.verbose = verbose95 96 # Here's where we differ from the superclass. It says:97 # try:98 # sock = h._conn.sock99 # except AttributeError:100 # sock = None101 # return self._parse_response(h.getfile(), sock)102 103 return self.parse_response(h.getfile())104 105 106 75 from cherrypy.test import helper 107 76 … … 109 78 def testXmlRpc(self): 110 79 111 # load the appropriate xmlrpc proxy 112 scheme = "http" 113 try: 114 scheme = self.harness.scheme 115 except AttributeError: 116 pass 117 118 if scheme == "https": 80 if self.scheme == "https": 119 81 url = 'https://%s:%s/xmlrpc/' % (self.interface(), self.PORT) 120 proxy = xmlrpc.client.ServerProxy(url, transport=HTTPSTransport()) 82 # Python 3.0's SafeTransport still mistakenly checks for socket.ssl 83 import socket 84 if not hasattr(socket, "ssl"): 85 socket.ssl = True 86 proxy = xmlrpc.client.ServerProxy(url, transport=xmlrpc.client.SafeTransport()) 121 87 else: 122 88 url = 'http://%s:%s/xmlrpc/' % (self.interface(), self.PORT)

