From: pukkandan Date: Sat, 29 Jul 2023 21:48:10 +0000 (+0530) Subject: [utils] HTTPHeaderDict: Handle byte values X-Git-Tag: 2023.09.24~110 X-Git-Url: https://jfr.im/git/yt-dlp.git/commitdiff_plain/3f7965105d8d2048359e67c1e8b8ebd51588143b?ds=sidebyside [utils] HTTPHeaderDict: Handle byte values --- diff --git a/test/test_utils.py b/test/test_utils.py index 453a01a1c..91e3ffd39 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -2344,6 +2344,8 @@ def test_traverse_obj(self): def test_http_header_dict(self): headers = HTTPHeaderDict() + headers['ytdl-test'] = b'0' + self.assertEqual(list(headers.items()), [('Ytdl-Test', '0')]) headers['ytdl-test'] = 1 self.assertEqual(list(headers.items()), [('Ytdl-Test', '1')]) headers['Ytdl-test'] = '2' diff --git a/yt_dlp/utils/networking.py b/yt_dlp/utils/networking.py index bbcea84d2..ba0493cc2 100644 --- a/yt_dlp/utils/networking.py +++ b/yt_dlp/utils/networking.py @@ -65,6 +65,8 @@ def __init__(self, *args, **kwargs): self.update(kwargs) def __setitem__(self, key, value): + if isinstance(value, bytes): + value = value.decode('latin-1') super().__setitem__(key.title(), str(value)) def __getitem__(self, key):