bpo-43433: Preserve query and fragment in the URL of the server in ServerProxy. (GH-25057)

This commit is contained in:
Serhiy Storchaka 2021-03-29 16:39:31 +03:00 committed by GitHub
parent 70cdf1812c
commit c1b073a630
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 3 deletions

View file

@ -1421,11 +1421,13 @@ class ServerProxy:
# establish a "logical" server connection
# get the url
p = urllib.parse.urlparse(uri)
p = urllib.parse.urlsplit(uri)
if p.scheme not in ("http", "https"):
raise OSError("unsupported XML-RPC protocol")
self.__host = p.netloc
self.__handler = p.path or "/RPC2"
self.__handler = urllib.parse.urlunsplit(["", "", *p[2:]])
if not self.__handler:
self.__handler = "/RPC2"
if transport is None:
if p.scheme == "https":