You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(ftp,httpv1): command case and HTTP/1 whitespace are normalised on rebuild #1333
HTTP/1 whitespace: a leading space or tab in a reason phrase and trailing \t/\x0c in a request URI are stripped. Header Host:a becomes Host: a, and obs-fold X: a\r\n b becomes X: a b (the RFC 9112 remedy).
Options:
(1) Keep the raw bytes (recommended). The data model gets the original token or line, while the parsed values stay normalised for lookup. Rebuilds become byte-exact and the parsed values do not change.
(2) Document these as lossy by design and exempt them from the round-trip suite.
I recommend (1): it follows the ruling without changing what users see in info.
Ruling recorded: option (1). FTP command case and the HTTP/1 whitespace normalisations keep the raw bytes, so rebuilds become byte-exact while the parsed values stay normalised for lookup. Nothing users read in info changes.
Blocked on #1301, which already owns ftp.py and httpv1.py and is at review: good-to-go. Two PRs editing those files would clobber each other, so this starts once #1301 merges.
Activity
JarryShaw commentedon Oct 7, 2026
take (1)
JarryShaw commentedon Oct 7, 2026
Ruling recorded: option (1). FTP command case and the HTTP/1 whitespace normalisations keep the raw bytes, so rebuilds become byte-exact while the parsed values stay normalised for lookup. Nothing users read in
infochanges.Blocked on #1301, which already owns
ftp.pyandhttpv1.pyand is atreview: good-to-go. Two PRs editing those files would clobber each other, so this starts once #1301 merges.JarryShaw commentedon Oct 7, 2026
Unblocked: #1301 merged at 19:09Z, so the file conflict is gone. Back to
pendinguntil a worker picks it up.fix(ftp,httpv1): keep the raw command case, HTTP/1 whitespace and fie…