Join repeated request header values

Commit 269f355 · patx · 2026-10-31T23:49:44-04:00

Changeset
269f3554d7b08e5f8bee50cec80c9cb912026854
Parents
d43e47d6062e8bb67a8f6debd52ed51f8d54e0b7

View source at this commit

Comments

No comments yet.

Log in to comment

Diff

diff --git a/wred.py b/wred.py
index 055a531..07b7c61 100644
--- a/wred.py
+++ b/wred.py
@@ -20,11 +20,11 @@ class Request:
 
     @cached_property
     def headers(self) -> dict[str, str]:
-        """Decode and cache headers on first access."""
+        """Decode and cache headers, joining duplicates with commas (semicolons for Cookie)."""
         headers: dict[str, str] = {}
         for k, v in self.scope.get('headers', []):
             k, v = k.decode('ascii').lower(), v.decode('latin-1')
-            headers[k] = headers[k] + '; ' + v if k == 'cookie' and k in headers else v
+            headers[k] = headers[k] + ('; ' if k == 'cookie' else ', ') + v if k in headers else v
         return headers
 
     @cached_property