summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/email/Message.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/Lib/email/Message.py b/Lib/email/Message.py
index 65e3c6d..0a8d90b 100644
--- a/Lib/email/Message.py
+++ b/Lib/email/Message.py
@@ -350,7 +350,6 @@ class Message:
Example:
msg.add_header('content-disposition', 'attachment', filename='bud.gif')
-
"""
parts = []
for k, v in _params.items():
@@ -362,6 +361,21 @@ class Message:
parts.insert(0, _value)
self._headers.append((_name, SEMISPACE.join(parts)))
+ def replace_header(self, _name, _value):
+ """Replace a header.
+
+ Replace the first matching header found in the message, retaining
+ header order and case. If no matching header was found, a KeyError is
+ raised.
+ """
+ _name = _name.lower()
+ for i, (k, v) in zip(range(len(self._headers)), self._headers):
+ if k.lower() == _name:
+ self._headers[i] = (k, _value)
+ break
+ else:
+ raise KeyError, _name
+
#
# These methods are silently deprecated in favor of get_content_type() and
# friends (see below). They will be noisily deprecated in email 3.0.