C#: metadata.Get and GetAll should accept uppercase keys #27383
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.
Fixes #26551.
Similar to #26552, but the implementation is cleaner and it adds tests.
Note that this is mostly a cosmetic change, since according to the gRPC spec, the metadata keys are supposed to be lowercase. But at this point, creating a
new Metadata.Entry("KEY", "value")
does lowercasing of the key under the hood,and a subsequent
metadata.Get("KEY")
won't find the entry. (it's basically a cornercase since there's no real reason to use uppercase metadata keys with gRPC when the spec only allows lowercase.