Closed
Description
Bug report
email._header_value_parser
tries to raise errors.InvalidHeaderError
, but that does not exist (and as far as I can tell, never did):
>>> from email.headerregistry import HeaderRegistry
>>> reg = HeaderRegistry()
>>> reg('Content-Disposition', 'attachment; 0*00="foo"')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.10/email/headerregistry.py", line 604, in __call__
return self[name](name, value)
File "/usr/lib/python3.10/email/headerregistry.py", line 192, in __new__
cls.parse(value, kwds)
File "/usr/lib/python3.10/email/headerregistry.py", line 448, in parse
kwds['parse_tree'] = parse_tree = cls.value_parser(value)
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2705, in parse_content_disposition_header
disp_header.append(parse_mime_parameters(value[1:]))
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2569, in parse_mime_parameters
token, value = get_parameter(value)
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2431, in get_parameter
token, value = get_section(value)
File "/usr/lib/python3.10/email/_header_value_parser.py", line 2382, in get_section
section.defects.append(errors.InvalidHeaderError(
AttributeError: module 'email.errors' has no attribute 'InvalidHeaderError'. Did you mean: 'InvalidHeaderDefect'?
Code:
cpython/Lib/email/_header_value_parser.py
Lines 2381 to 2383 in d853758
This was added in 97f43c0 by @bitdancer pretty much some 10 years ago, and I don't think it ever worked (but nor could I find anyone running into this so far): The git history doesn't know anything about an email.errors.InvalidHeaderError
.
Found via Hypothesis while testing my own parsing code - cc @Zac-HD if you want to see another instance of "the curse of hypothesis" 😉
Your environment
- CPython versions tested on: 3.7.13, 3.8.13, 3.9.13, 3.10.4, 3.11.0b1
- Operating system and architecture: Archlinux, x86_64