mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
bpo-30458: Use InvalidURL instead of ValueError. (GH-13044)
Use http.client.InvalidURL instead of ValueError as the new error case's exception.
This commit is contained in:
parent
e1d5dd645d
commit
b7378d7728
3 changed files with 8 additions and 6 deletions
|
@ -343,11 +343,12 @@ class urlopen_HttpTests(unittest.TestCase, FakeHTTPMixin, FakeFTPMixin):
|
|||
# calls urllib.parse.quote() on the URL which makes all of the
|
||||
# above attempts at injection within the url _path_ safe.
|
||||
escaped_char_repr = repr(char).replace('\\', r'\\')
|
||||
InvalidURL = http.client.InvalidURL
|
||||
with self.assertRaisesRegex(
|
||||
ValueError, f"contain control.*{escaped_char_repr}"):
|
||||
InvalidURL, f"contain control.*{escaped_char_repr}"):
|
||||
urllib.request.urlopen(f"http:{schemeless_url}")
|
||||
with self.assertRaisesRegex(
|
||||
ValueError, f"contain control.*{escaped_char_repr}"):
|
||||
InvalidURL, f"contain control.*{escaped_char_repr}"):
|
||||
urllib.request.urlopen(f"https:{schemeless_url}")
|
||||
# This code path quotes the URL so there is no injection.
|
||||
resp = urlopen(f"http:{schemeless_url}")
|
||||
|
@ -367,10 +368,11 @@ class urlopen_HttpTests(unittest.TestCase, FakeHTTPMixin, FakeFTPMixin):
|
|||
# urlopen uses FancyURLOpener which goes via a codepath that
|
||||
# calls urllib.parse.quote() on the URL which makes all of the
|
||||
# above attempts at injection within the url _path_ safe.
|
||||
InvalidURL = http.client.InvalidURL
|
||||
with self.assertRaisesRegex(
|
||||
ValueError, r"contain control.*\\r.*(found at least . .)"):
|
||||
InvalidURL, r"contain control.*\\r.*(found at least . .)"):
|
||||
urllib.request.urlopen(f"http:{schemeless_url}")
|
||||
with self.assertRaisesRegex(ValueError, r"contain control.*\\n"):
|
||||
with self.assertRaisesRegex(InvalidURL, r"contain control.*\\n"):
|
||||
urllib.request.urlopen(f"https:{schemeless_url}")
|
||||
# This code path quotes the URL so there is no injection.
|
||||
resp = urlopen(f"http:{schemeless_url}")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue