nats-io / nats-architecture-and-design

Architecture and Design Docs
Apache License 2.0
178 stars 20 forks source link

Updates to ADR-4 to clarify NATS Headers are case-preserving #142

Closed tbeets closed 1 year ago

tbeets commented 1 year ago

There were some dangling references that made it less clear that NATS Headers (apart from HTTP Headers) are case-preserving and leave the opinionation of case-sensitivity up to the application implementer.

Jarema commented 1 year ago

@tbeets Hm, maybe this would be a good place to list all known NATS headers, both those used internally and those that are usable by the applications (like Nats-Msg-Id) ?

One can argue that those are not part of Core NATS, and it's true, but IMO either we put them here with explanation where they can occur (and have one general document for headers, for clarity), or have an additional ADR "JetStream headers", with the reasoning that all should be put in one place, not scatter across ADRs for features. That makes client maintainers life unnecessarily hard :).

wallyqs commented 1 year ago

I think maybe for JetStream Headers we could put them on a different doc along with the context in which they work (the JetStream Headers are the ones that are case-sensitive currently so would make this confusing for this doc too).