Skip to content

Commit

Permalink
[3.10] gh-101936: Update the default value of fp from io.StringIO to …
Browse files Browse the repository at this point in the history
…io.BytesIO (gh-102100) (#102118)

gh-101936: Update the default value of fp from io.StringIO to io.BytesIO (gh-102100)
(cherry picked from commit 0d4c7fc)

Co-authored-by: Long Vo <[email protected]>
  • Loading branch information
miss-islington and longvhdeveloper authored Feb 22, 2023
1 parent 3e9fb1a commit 0f28af5
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 1 deletion.
1 change: 1 addition & 0 deletions Lib/test/test_urllib2.py
Original file line number Diff line number Diff line change
Expand Up @@ -1826,6 +1826,7 @@ def test_HTTPError_interface(self):
def test_gh_98778(self):
x = urllib.error.HTTPError("url", 405, "METHOD NOT ALLOWED", None, None)
self.assertEqual(getattr(x, "__notes__", ()), ())
self.assertIsInstance(x.fp.read(), bytes)

def test_parse_proxy(self):
parse_proxy_test_cases = [
Expand Down
2 changes: 1 addition & 1 deletion Lib/urllib/error.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def __init__(self, url, code, msg, hdrs, fp):
self.fp = fp
self.filename = url
if fp is None:
fp = io.StringIO()
fp = io.BytesIO()
self.__super_init(fp, hdrs, url, code)

def __str__(self):
Expand Down
1 change: 1 addition & 0 deletions Misc/ACKS
Original file line number Diff line number Diff line change
Expand Up @@ -1867,6 +1867,7 @@ Kurt Vile
Norman Vine
Pauli Virtanen
Frank Visser
Long Vo
Johannes Vogel
Michael Vogt
Radu Voicilas
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
The default value of ``fp`` becomes :class:`io.BytesIO` if :exc:`~urllib.error.HTTPError`
is initialized without a designated ``fp`` parameter. Patch by Long Vo.

0 comments on commit 0f28af5

Please sign in to comment.