Extension names become case insensitive in binary encoding
See original GitHub issueExtensions are not defined to have case-insensitive names, but the binary encoding puts the extension name in a header. Since header names are case insensitive, their case may be changed by middleware. This makes extensions fairly fragile.
I suggest we either:
- Define extensions to be case insensitive in spec.md
- Change the way extensions are encoded in HTTP binary encoding.
I personally prefer (2). I’d recommend
CE-X: <key>: <value>
Issue Analytics
- State:
- Created 5 years ago
- Reactions:1
- Comments:17 (4 by maintainers)
Top Results From Across the Web
RFC 4343 - Domain Name System (DNS) Case Insensitivity ...
Abstract Domain Name System (DNS) names are "case insensitive". ... whose name is to be output, converting it to a typographically encoded ASCII...
Read more >Case insensitive text search inside binary data on macOS
I am trying to implement the ability to find text in files that cannot be loaded into an NSString. This applies to generic...
Read more >Naming and Referencing Containers, Blobs, and Metadata
Blob names are case-sensitive. Reserved URL characters must be properly escaped. The number of path segments comprising the blob name cannot ...
Read more >Simple Binary Encoding (SBE) Online - FIX Trading Community
FIX Simple Binary Encoding (SBE) targets high performance trading systems. ... that matching of type names should be case insensitive in schema parsers....
Read more >RFC 2045: Multipurpose Internet Mail Extensions (MIME) Part ...
All media type values, subtype values, and parameter names as defined are case-insensitive. However, parameter values are case-sensitive unless otherwise ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Does the spec say (don’t recall seeing this) that properties (built-in or extensions) be English words? If not, the base64 idea is worth serious consideration, specifically for HTTP headers, which are a lossy encoding. Case-folding is a can of worms, and should be avoided wherever possible in the interests of sanity and diversity. E.g., if ASCII case-folding rules are applied mechanically, they are apt to break anyone who uses a Turkish word to name a property. Case has no place in Internet protocols.
I think it should be a requirement that the different transport bindings can be chained. If I get an event via webhook in binary format and need to publish it on an MQTT 3.1 topic (-> JSON representation), I have no way to determine the case of the extension attributes. SDKs should decide how to represent extensions, but this representation should not lose information.