]> jfr.im git - yt-dlp.git/commitdiff
[utils] HTTPHeaderDict: Handle byte values
authorpukkandan <redacted>
Sat, 29 Jul 2023 21:48:10 +0000 (03:18 +0530)
committerpukkandan <redacted>
Sat, 29 Jul 2023 21:48:10 +0000 (03:18 +0530)
test/test_utils.py
yt_dlp/utils/networking.py

index 453a01a1c2b0695105914ce378d6e6e17601a531..91e3ffd39e5c0e0cedb47a6bb81618cbdbd2b655 100644 (file)
@@ -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'
index bbcea84d2c0b20ae4457334a4eff6463b90aff36..ba0493cc2b7b637a1c94509497780dabf4a9745f 100644 (file)
@@ -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):