|
40 | 40 | import platform |
41 | 41 | from io import StringIO, BytesIO |
42 | 42 | from collections import namedtuple |
43 | | -import posixpath as pp # POSIX-safe joins/normpaths |
| 43 | +import posixpath # POSIX-safe joins/normpaths |
44 | 44 | try: |
45 | 45 | from backports import tempfile |
46 | 46 | except ImportError: |
|
49 | 49 | try: |
50 | 50 | from http.server import BaseHTTPRequestHandler, HTTPServer |
51 | 51 | from socketserver import TCPServer |
52 | | - from urllib.parse import urlparse as _urlparse, parse_qs as _parse_qs |
53 | | - import base64 as _b64 |
| 52 | + from urllib.parse import urlparse, parse_qs |
| 53 | + import base64 |
54 | 54 | except ImportError: |
55 | 55 | from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer |
56 | 56 | from SocketServer import TCPServer |
57 | | - from urlparse import urlparse as _urlparse, parse_qs as _parse_qs |
58 | | - import base64 as _b64 |
| 57 | + from urlparse import urlparse, parse_qs |
| 58 | + import base64 |
59 | 59 |
|
60 | 60 | # FTP Support |
61 | 61 | ftpssl = True |
@@ -993,8 +993,8 @@ def _resolves_outside(parent, target): |
993 | 993 |
|
994 | 994 | import posixpath as pp |
995 | 995 | root = u"/" |
996 | | - base = pp.normpath(pp.join(root, parent)) # '/dir/sub' or '/' |
997 | | - cand = pp.normpath(pp.join(base, target)) # resolved target under '/' |
| 996 | + base = posixpath.normpath(posixpath.join(root, parent)) # '/dir/sub' or '/' |
| 997 | + cand = posixpath.normpath(posixpath.join(base, target)) # resolved target under '/' |
998 | 998 |
|
999 | 999 | # ensure trailing slash on base for the prefix test |
1000 | 1000 | base_slash = base if base.endswith(u"/") else (base + u"/") |
@@ -1536,8 +1536,8 @@ def _discover_len_and_reset(fobj): |
1536 | 1536 | # URL parser for HTTP/HTTPS |
1537 | 1537 | # ========================= |
1538 | 1538 | def _parse_http_url(url): |
1539 | | - parts = _urlparse(url) |
1540 | | - qs = _parse_qs(parts.query or "") |
| 1539 | + parts = urlparse(url) |
| 1540 | + qs = parse_qs(parts.query or "") |
1541 | 1541 |
|
1542 | 1542 | scheme = (parts.scheme or "").lower() |
1543 | 1543 | if scheme not in ("http", "https"): |
@@ -1585,7 +1585,7 @@ def _basic_ok(auth_header, expect_user, expect_pass): |
1585 | 1585 | return False |
1586 | 1586 | try: |
1587 | 1587 | b64 = auth_header.strip().split(" ", 1)[1] |
1588 | | - raw = _b64.b64decode(_to_bytes(b64)) |
| 1588 | + raw = base64.b64decode(_to_bytes(b64)) |
1589 | 1589 | # raw may be bytes like b"user:pass" |
1590 | 1590 | try: |
1591 | 1591 | raw_txt = raw.decode("utf-8") |
@@ -14181,7 +14181,7 @@ def _ok_headers(self, length_known): |
14181 | 14181 | self.end_headers() |
14182 | 14182 |
|
14183 | 14183 | def _path_only(self): |
14184 | | - p = _urlparse(self.path or "/") |
| 14184 | + p = urlparse(self.path or "/") |
14185 | 14185 | try: |
14186 | 14186 | from urllib.parse import unquote |
14187 | 14187 | except ImportError: |
|
0 commit comments