cpython: 2a126ce6f83e (original) (raw)
Mercurial > cpython
changeset 93662:2a126ce6f83e
merge 3.4 (#22960) [#22960]
Benjamin Peterson benjamin@python.org | |
---|---|
date | Sat, 29 Nov 2014 23:34:30 -0500 |
parents | 4990157343c6(current diff)4b00430388ad(diff) |
children | 13e286c718cb |
files | Doc/library/xmlrpc.client.rst Lib/xmlrpc/client.py Misc/NEWS |
diffstat | 3 files changed, 22 insertions(+), 6 deletions(-)[+] [-] Doc/library/xmlrpc.client.rst 11 Lib/xmlrpc/client.py 15 Misc/NEWS 2 |
line wrap: on
line diff
--- a/Doc/library/xmlrpc.client.rst
+++ b/Doc/library/xmlrpc.client.rst
@@ -27,14 +27,14 @@ between conformable Python objects and X
constructed data. If you need to parse untrusted or unauthenticated data see
:ref:xml-vulnerabilities
.
-.. versionchanged:: 3.4.3
+.. versionchanged:: 3.5
For https URIs, :mod:xmlrpc.client
now performs all the necessary
certificate and hostname checks by default
.. class:: ServerProxy(uri, transport=None, encoding=None, verbose=False, [](#l1.13)
allow_none=False, use_datetime=False, [](#l1.14)
use_builtin_types=False)[](#l1.15)
use_builtin_types=False, context=None)[](#l1.16)
.. versionchanged:: 3.3 The use_builtin_types flag was added. @@ -63,7 +63,9 @@ between conformable Python objects and X portion will be base64-encoded as an HTTP 'Authorization' header, and sent to the remote server as part of the connection process when invoking an XML-RPC method. You only need to use this if the remote server requires a Basic
- Authentication user and password. If an HTTPS url is provided, context may
- be :class:
ssl.SSLContext
and configures the SSL settings of the underlying - HTTPS connection.
The returned instance is a proxy object with methods that can be used to invoke
corresponding RPC calls on the remote server. If the remote server supports the
@@ -127,6 +129,9 @@ between conformable Python objects and X
:class:
Server
is retained as an alias for :class:ServerProxy
for backwards compatibility. New code should use :class:ServerProxy
. - .. versionchanged:: 3.5
Added the *context* argument.[](#l1.36)
--- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -1324,6 +1324,11 @@ class Transport: class SafeTransport(Transport): """Handles an HTTPS transaction to an XML-RPC server."""
- def init(self, use_datetime=False, use_builtin_types=False, *,
context=None):[](#l2.8)
super().__init__(use_datetime=use_datetime, use_builtin_types=use_builtin_types)[](#l2.9)
self.context = context[](#l2.10)
+ # FIXME: mostly untested def make_connection(self, host): @@ -1337,7 +1342,7 @@ class SafeTransport(Transport): # host may be a string, or a (host, x509-dict) tuple chost, self._extra_headers, x509 = self.get_host_info(host) self._connection = host, http.client.HTTPSConnection(chost,
None, **(x509 or {}))[](#l2.19)
None, context=self.context, **(x509 or {}))[](#l2.20) return self._connection[1][](#l2.21)
## @@ -1380,7 +1385,8 @@ class ServerProxy: """ def init(self, uri, transport=None, encoding=None, verbose=False,
allow_none=False, use_datetime=False, use_builtin_types=False):[](#l2.28)
allow_none=False, use_datetime=False, use_builtin_types=False,[](#l2.29)
*, context=None):[](#l2.30) # establish a "logical" server connection[](#l2.31)
# get the url @@ -1394,10 +1400,13 @@ class ServerProxy: if transport is None: if type == "https": handler = SafeTransport
extra_kwargs = {"context": context}[](#l2.38) else:[](#l2.39) handler = Transport[](#l2.40)
extra_kwargs = {}[](#l2.41) transport = handler(use_datetime=use_datetime,[](#l2.42)
use_builtin_types=use_builtin_types)[](#l2.43)
use_builtin_types=use_builtin_types,[](#l2.44)
**extra_kwargs)[](#l2.45) self.__transport = transport[](#l2.46)
self.__encoding = encoding or 'utf-8'
--- a/Misc/NEWS +++ b/Misc/NEWS @@ -191,6 +191,8 @@ Core and Builtins Library ------- +- Issue #22960: Add a context argument to xmlrpclib.ServerProxy constructor. +