Open the context
Choose the project folder and name the files or behavior involved.
Format an ASCII HTTP header from a name and value. Reject invalid name characters, line breaks, controls and non-ASCII input, allowing an empty value without creating an extra header.
Choose the project folder and name the files or behavior involved.
Describe the input, expected output and boundaries that must stay intact.
Review the proposed edits and any commands before relying on their result.
Compare actual behavior with the expected result. If a check fails, investigate it before applying more changes.
import re
TOKEN = re.compile(r"[!#$%&'*+.^_`|~0-9A-Za-z-]+")
def header_line(name, value):
if not isinstance(name, str) or not TOKEN.fullmatch(name):
raise ValueError("header name")
if not isinstance(value, str) or any(not 32 <= ord(c) <= 126 for c in value):
raise ValueError("ASCII header value")
return name + ": " + valueThe example is a starting point for a real project, not a claim that generated code is already tested. Adjust paths, dependencies and expected behavior to match your application.