|
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 |
@@ -986,8 +986,8 @@ def _resolves_outside(parent, target): |
986 | 986 |
|
987 | 987 | import posixpath as pp |
988 | 988 | root = u"/" |
989 | | - base = pp.normpath(pp.join(root, parent)) # '/dir/sub' or '/' |
990 | | - cand = pp.normpath(pp.join(base, target)) # resolved target under '/' |
| 989 | + base = posixpath.normpath(posixpath.join(root, parent)) # '/dir/sub' or '/' |
| 990 | + cand = posixpath.normpath(posixpath.join(base, target)) # resolved target under '/' |
991 | 991 |
|
992 | 992 | # ensure trailing slash on base for the prefix test |
993 | 993 | base_slash = base if base.endswith(u"/") else (base + u"/") |
@@ -1529,8 +1529,8 @@ def _discover_len_and_reset(fobj): |
1529 | 1529 | # URL parser for HTTP/HTTPS |
1530 | 1530 | # ========================= |
1531 | 1531 | def _parse_http_url(url): |
1532 | | - parts = _urlparse(url) |
1533 | | - qs = _parse_qs(parts.query or "") |
| 1532 | + parts = urlparse(url) |
| 1533 | + qs = parse_qs(parts.query or "") |
1534 | 1534 |
|
1535 | 1535 | scheme = (parts.scheme or "").lower() |
1536 | 1536 | if scheme not in ("http", "https"): |
@@ -1578,7 +1578,7 @@ def _basic_ok(auth_header, expect_user, expect_pass): |
1578 | 1578 | return False |
1579 | 1579 | try: |
1580 | 1580 | b64 = auth_header.strip().split(" ", 1)[1] |
1581 | | - raw = _b64.b64decode(_to_bytes(b64)) |
| 1581 | + raw = base64.b64decode(_to_bytes(b64)) |
1582 | 1582 | # raw may be bytes like b"user:pass" |
1583 | 1583 | try: |
1584 | 1584 | raw_txt = raw.decode("utf-8") |
@@ -14175,7 +14175,7 @@ def _ok_headers(self, length_known): |
14175 | 14175 | self.end_headers() |
14176 | 14176 |
|
14177 | 14177 | def _path_only(self): |
14178 | | - p = _urlparse(self.path or "/") |
| 14178 | + p = urlparse(self.path or "/") |
14179 | 14179 | try: |
14180 | 14180 | from urllib.parse import unquote |
14181 | 14181 | except ImportError: |
|
0 commit comments