baggage
baggage copied to clipboard
Clarify how compliant implementations should handle invalid baggage entries
There is inconsistency related to how invalid baggage entries are handled by some existing implementations (e.g java implementation ignores invalid entries on both inject
/extract
, and propagate valid ones; go implementation ignores all the propagated baggage entries on extract
if any of them is invalid).
There is a section in the spec that states:
If a system determines that the value of a baggage entry is not in the format defined in this specification, it MAY remove that entry before propagating the baggage header as part of outgoing requests.
Baggage entries have key, value, and metadata. Does "value" in the context quoted above mean baggage entry value specifically (in that case, what if key or metadata are invalid), or whole baggage entry?