Flexible header matching for HTTP propagator #2504
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working with OpenTelemetry, I noticed their propagator is flexible when working with Rack HTTP headers.
Our HTTP propagator has always only matched headers that are formatted as
HTTP_MY_HEADER_NAME
. This means it was not possible to perform simple matches, likemy-header-name
.Because it's possible to do both at the same time with almost guarantee safety, this PR does that.
The only conflicting case is if both
my-header-name
andHTTP_MY_HEADER_NAME
are present in the environment. In such case, we prefer to perform the exact match:my-header-name
.I believe this will have no effect on current users.