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
Specify allowed characters for Baggage keys and values (#3801)
## Changes
* Add missing spec language on what keys and values are allowed for the
baggage.
* Emphasize case sensitivity
* Definitions are aligned with W3C Baggage Spec, but provide a
distinction between API representation and the wire encoding (done by
W3C Propagator)
Baggage **names** are any valid UTF-8 strings. Language API SHOULD NOT
39
+
restrict which strings are used as baggage **names**. However, the
40
+
specific `Propagator`s that are used to transmit baggage entries across
41
+
component boundaries may impose their own restrictions on baggage names.
42
+
For example, the [W3C Baggage specification](https://www.w3.org/TR/baggage/#key)
43
+
restricts the baggage keys to strings that satisfy the `token` definition
44
+
from [RFC7230, Section 3.2.6](https://tools.ietf.org/html/rfc7230#section-3.2.6).
45
+
For maximum compatibility, alpha-numeric names are strongly recommended
46
+
to be used as baggage names.
47
+
48
+
Baggage **values** are any valid UTF-8 strings. Language API MUST accept
49
+
any valid UTF-8 string as baggage **value** in `Set` and return the same
50
+
value from `Get`.
51
+
52
+
Language API MUST treat both baggage names and values as case sensitive.
53
+
See also [W3C Baggage Rationale](https://github.com/w3c/baggage/blob/main/baggage/HTTP_HEADER_FORMAT_RATIONALE.md#case-sensitivity-of-keys).
0 commit comments