]> granicus.if.org Git - python/commitdiff
Issue #25895: Enable WebSocket URL schemes in urllib.parse.urljoin
authorBerker Peksag <berker.peksag@gmail.com>
Fri, 16 Sep 2016 11:43:58 +0000 (14:43 +0300)
committerBerker Peksag <berker.peksag@gmail.com>
Fri, 16 Sep 2016 11:43:58 +0000 (14:43 +0300)
Patch by Gergely Imreh and Markus Holtermann.

Doc/library/urllib.parse.rst
Lib/test/test_urlparse.py
Lib/urllib/parse.py
Misc/NEWS

index c6de2303c6c8cfce70bc91b972dd30a82a20407e..007e4da6aa987c231e3b3d5ec2a364382a36eede 100644 (file)
@@ -25,7 +25,7 @@ Resource Locators. It supports the following URL schemes: ``file``, ``ftp``,
 ``gopher``, ``hdl``, ``http``, ``https``, ``imap``, ``mailto``, ``mms``,
 ``news``, ``nntp``, ``prospero``, ``rsync``, ``rtsp``, ``rtspu``, ``sftp``,
 ``shttp``, ``sip``, ``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``,
-``wais``.
+``wais``, ``ws``, ``wss``.
 
 The :mod:`urllib.parse` module defines functions that fall into two broad
 categories: URL parsing and URL quoting. These are covered in detail in
index 829997fd6a20564b630041c25e214bbbea171a8c..71abc147a6f9a26a10aac991850d12d8e5447e7f 100644 (file)
@@ -425,6 +425,8 @@ class UrlParseTestCase(unittest.TestCase):
         self.checkJoin('', 'http://a/./g', 'http://a/./g')
         self.checkJoin('svn://pathtorepo/dir1', 'dir2', 'svn://pathtorepo/dir2')
         self.checkJoin('svn+ssh://pathtorepo/dir1', 'dir2', 'svn+ssh://pathtorepo/dir2')
+        self.checkJoin('ws://a/b','g','ws://a/g')
+        self.checkJoin('wss://a/b','g','wss://a/g')
 
         # XXX: The following tests are no longer compatible with RFC3986
         # self.checkJoin(SIMPLE_BASE, '../../../g','http://a/../g')
index 4d7fcec94b19e067641dfe0665fc3054c4cb07b4..566fbf7188818622de15aaf7302d1d3a7e053762 100644 (file)
@@ -42,11 +42,12 @@ __all__ = ["urlparse", "urlunparse", "urljoin", "urldefrag",
 uses_relative = ['ftp', 'http', 'gopher', 'nntp', 'imap',
                  'wais', 'file', 'https', 'shttp', 'mms',
                  'prospero', 'rtsp', 'rtspu', '', 'sftp',
-                 'svn', 'svn+ssh']
+                 'svn', 'svn+ssh', 'ws', 'wss']
 uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet',
                'imap', 'wais', 'file', 'mms', 'https', 'shttp',
                'snews', 'prospero', 'rtsp', 'rtspu', 'rsync', '',
-               'svn', 'svn+ssh', 'sftp', 'nfs', 'git', 'git+ssh']
+               'svn', 'svn+ssh', 'sftp', 'nfs', 'git', 'git+ssh',
+               'ws', 'wss']
 uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap',
                'https', 'shttp', 'rtsp', 'rtspu', 'sip', 'sips',
                'mms', '', 'sftp', 'tel']
index 9e61ef3d35bac821e3df0eff94aaeec5c5e54ebd..3c1918357bc4f4dc8de40c90b95bbab63e4a66db 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -71,6 +71,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #25895: Enable WebSocket URL schemes in urllib.parse.urljoin.
+  Patch by Gergely Imreh and Markus Holtermann.
+
 - Issue #27599: Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().
 
 - Issue #19003:m email.generator now replaces only \r and/or \n line