diff options
Diffstat (limited to 'Lib/email/headerregistry.py')
-rw-r--r-- | Lib/email/headerregistry.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/email/headerregistry.py b/Lib/email/headerregistry.py index 00652049f2..452c6ad508 100644 --- a/Lib/email/headerregistry.py +++ b/Lib/email/headerregistry.py @@ -520,6 +520,18 @@ class ContentTransferEncodingHeader: return self._cte +class MessageIDHeader: + + max_count = 1 + value_parser = staticmethod(parser.parse_message_id) + + @classmethod + def parse(cls, value, kwds): + kwds['parse_tree'] = parse_tree = cls.value_parser(value) + kwds['decoded'] = str(parse_tree) + kwds['defects'].extend(parse_tree.all_defects) + + # The header factory # _default_header_map = { @@ -542,6 +554,7 @@ _default_header_map = { 'content-type': ContentTypeHeader, 'content-disposition': ContentDispositionHeader, 'content-transfer-encoding': ContentTransferEncodingHeader, + 'message-id': MessageIDHeader, } class HeaderRegistry: |