Skip to content

Commit 7ccd90c

Browse files
committed
normalize incoming header keys to lowercase at ingestion
Signed-off-by: Guangya Liu <gyliu513@gmail.com>
1 parent 5398612 commit 7ccd90c

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

pkg/handlers/request.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ func (s *Server) HandleRequestHeaders(ctx context.Context, reqCtx *RequestContex
4545

4646
if headers != nil && headers.Headers != nil {
4747
for _, header := range headers.Headers.Headers {
48-
reqCtx.Request.Headers[header.Key] = envoy.GetHeaderValue(header)
48+
// Normalize keys to lowercase so later case-insensitive lookups and
49+
// mutations (e.g. the trace context injection below) overwrite the
50+
// upstream header instead of producing a case-differentiated duplicate.
51+
reqCtx.Request.Headers[strings.ToLower(header.Key)] = envoy.GetHeaderValue(header)
4952
}
5053
}
5154

0 commit comments

Comments
 (0)