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
Round-trip cleanly non-ASCII data in HTTP messages.
Use ISO-8859-1 consistently, except in places that must really be ASCII.
This leads to changes in undocumented behaviors.
When serializing -- this changes in this commit:
- Non-ASCII request paths are rejected instead of encoded with UTF-8.
This isn't supposed to have any effect because websockets converts
non-ASCII URIs to ASCII IRIs before they reach the HTTP layer.
- Other non-ASCII values (reason phrase, header values) are now encoded
as ISO-8859-1 instead of UTF-8 -- which was never intended; there were
comments saying "only contain ASCII"; it's an implementation accident.
This has the benefit that it's now possible to send header values in
any encoding, while previously only valid UTF-8 could be sent.
When parsing -- this changed between 16.0 and 16.1, in ff4869b:
- Non-ASCII request paths are rejected instead of decoded as ASCII with
surrogate escapes.
- Other non-ASCII values (reason phrase, header values) are now decoded
as ISO-8859-1 instead of ASCII with surrogate escapes.
0 commit comments