gh-105530: Support sending HTTP header values with RFC 2047 #105621
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, sending an HTTP header with non-ISO-8859-1 (latin-1) characters will result in a
UnicodeEncodeError
being thrown. This change adds support for such characters in the header values using RFC 2047 encoded-word format.This change was originally part of #105531, which originally handled RFC 2047 for both receiving and sending. The receiving part could be a breaking change and might be better suited as part of a bigger change. However, this change for the sending part should not make any breaking changes. If an application already supports RFC 2047 encoded-word format, then it will still work.
http
module does not handle MIME encoded-words in headers #105530📚 Documentation preview 📚: https://cpython-previews--105621.org.readthedocs.build/