Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, the original case sensitive header fields are only preserved for the first lines with matching header fields. This is nothing too bad, as the RFC only demands a correct case-insensitive treatment, but it's not nice as well.
This PR now stores all case-sensitive header fields along with the header values. While at the same time it sticks with the principle of handling a single header field without any duplication, as default case with nearly the handling speed of an ordinary python dictionary.
Iterating over all header lines with their original cases is now the default behaviour of Header.items() and Headers.iteroriginal() is deprecated. So as a result, Headers can now be formatted nearly as the plain HTTP hext received over the wire.