add context parameter to xmlrpclib.ServerProxy (#22960)
Patch from Alex Gaynor.
diff --git a/Lib/xmlrpclib.py b/Lib/xmlrpclib.py
index 1a8b3fb..f5682c9 100644
--- a/Lib/xmlrpclib.py
+++ b/Lib/xmlrpclib.py
@@ -1478,6 +1478,10 @@
class SafeTransport(Transport):
"""Handles an HTTPS transaction to an XML-RPC server."""
+ def __init__(self, use_datetime=0, context=None):
+ Transport.__init__(self, use_datetime=use_datetime)
+ self.context = context
+
# FIXME: mostly untested
def make_connection(self, host):
@@ -1493,7 +1497,7 @@
)
else:
chost, self._extra_headers, x509 = self.get_host_info(host)
- self._connection = host, HTTPS(chost, None, **(x509 or {}))
+ self._connection = host, HTTPS(chost, None, context=context, **(x509 or {}))
return self._connection[1]
##
@@ -1536,7 +1540,7 @@
"""
def __init__(self, uri, transport=None, encoding=None, verbose=0,
- allow_none=0, use_datetime=0):
+ allow_none=0, use_datetime=0, context=None):
# establish a "logical" server connection
if isinstance(uri, unicode):
@@ -1553,7 +1557,7 @@
if transport is None:
if type == "https":
- transport = SafeTransport(use_datetime=use_datetime)
+ transport = SafeTransport(use_datetime=use_datetime, context=context)
else:
transport = Transport(use_datetime=use_datetime)
self.__transport = transport