status-go/vendor/github.com/getsentry/sentry-go/internal/otel/baggage
Igor Sirotin f15c64ced3
chore_: add sentry-go dependency (#6052)
2024-11-06 17:37:08 +00:00
..
internal/baggage chore_: add sentry-go dependency (#6052) 2024-11-06 17:37:08 +00:00
README.md chore_: add sentry-go dependency (#6052) 2024-11-06 17:37:08 +00:00
baggage.go chore_: add sentry-go dependency (#6052) 2024-11-06 17:37:08 +00:00

README.md

Why do we have this "otel/baggage" folder?

The root sentry-go SDK (namely, the Dynamic Sampling functionality) needs an implementation of the baggage spec. For that reason, we've taken the existing baggage implementation from the opentelemetry-go repository, and fixed a few things that in our opinion were violating the specification.

These issues are:

  1. Baggage string value one%20two should be properly parsed as "one two"
  2. Baggage string value one+two should be parsed as "one+two"
  3. Go string value "one two" should be encoded as one%20two (percent encoding), and NOT as one+two (URL query encoding).
  4. Go string value "1=1" might be encoded as 1=1, because the spec says: "Note, value MAY contain any number of the equal sign (=) characters. Parsers MUST NOT assume that the equal sign is only used to separate key and value.". 1%3D1 is also valid, but to simplify the implementation we're not doing it.

Changes were made in this PR: https://github.com/getsentry/sentry-go/pull/568