mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
part of #3613: fix get_host_info() usage of base64.encodestring().
This commit is contained in:
parent
35e2c4e67a
commit
c8dcfb6cec
2 changed files with 10 additions and 1 deletions
|
@ -135,6 +135,14 @@ class XMLRPCTestCase(unittest.TestCase):
|
||||||
xmlrpclib.loads(strg)[0][0])
|
xmlrpclib.loads(strg)[0][0])
|
||||||
self.assertRaises(TypeError, xmlrpclib.dumps, (arg1,))
|
self.assertRaises(TypeError, xmlrpclib.dumps, (arg1,))
|
||||||
|
|
||||||
|
def test_get_host_info(self):
|
||||||
|
# see bug #3613, this raised a TypeError
|
||||||
|
transp = xmlrpc.client.Transport()
|
||||||
|
self.assertEquals(transp.get_host_info("user@host.tld"),
|
||||||
|
('host.tld',
|
||||||
|
[('Authorization', 'Basic dXNlcg==')], {}))
|
||||||
|
|
||||||
|
|
||||||
class HelperTestCase(unittest.TestCase):
|
class HelperTestCase(unittest.TestCase):
|
||||||
def test_escape(self):
|
def test_escape(self):
|
||||||
self.assertEqual(xmlrpclib.escape("a&b"), "a&b")
|
self.assertEqual(xmlrpclib.escape("a&b"), "a&b")
|
||||||
|
|
|
@ -1161,7 +1161,8 @@ class Transport:
|
||||||
|
|
||||||
if auth:
|
if auth:
|
||||||
import base64
|
import base64
|
||||||
auth = base64.encodestring(urllib.parse.unquote(auth))
|
auth = urllib.parse.unquote_to_bytes(auth)
|
||||||
|
auth = base64.encodestring(auth).decode("utf-8")
|
||||||
auth = "".join(auth.split()) # get rid of whitespace
|
auth = "".join(auth.split()) # get rid of whitespace
|
||||||
extra_headers = [
|
extra_headers = [
|
||||||
("Authorization", "Basic " + auth)
|
("Authorization", "Basic " + auth)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue