Skip to content

Commit ef5bb25

Browse files
isidenticalbitdancer
authored andcommitted
bpo-27737: Allow whitespace only headers encoding (#13478)
1 parent 6bc5917 commit ef5bb25

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

Lib/email/header.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ def newline(self):
431431
if end_of_line != (' ', ''):
432432
self._current_line.push(*end_of_line)
433433
if len(self._current_line) > 0:
434-
if self._current_line.is_onlyws():
434+
if self._current_line.is_onlyws() and self._lines:
435435
self._lines[-1] += str(self._current_line)
436436
else:
437437
self._lines.append(str(self._current_line))

Lib/test/test_email/test_email.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4964,6 +4964,9 @@ def test_encode_preserves_leading_ws_on_value(self):
49644964
msg['SomeHeader'] = ' value with leading ws'
49654965
self.assertEqual(str(msg), "SomeHeader: value with leading ws\n\n")
49664966

4967+
def test_whitespace_header(self):
4968+
self.assertEqual(Header(' ').encode(), ' ')
4969+
49674970

49684971

49694972
# Test RFC 2231 header parameters (en/de)coding
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Allow whitespace only header encoding in ``email.header`` - by Batuhan
2+
Taskaya

0 commit comments

Comments
 (0)