bpo-11671: add header validation from http.client to wsgiref.headers.Headers by epicfaace · Pull Request #15299 · python/cpython
Please add a comment mentioning bpo-11671.
Rather than an hardcoded list, why not building such list using a few invalid characters. For example for header names:
invalid_names = []
invalid_name_chars = ['\r', '\n', '\r\n', ':']
for invalid_chars in invalid_name_chars:
invalid_names.append(f'{invalid_chars}InvalidName')
invalid_names.append(f'Invalid{invalid_chars}Name')
invalid_names.append(f'InvalidName{invalid_chars}')
invalid_names.append(' InvalidName')
Are whitespaces (" ") and colon (":") only invalid at the beginning of the name?