From c320c2391300878fb96d97fa7712af616e8c277b Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Mon, 1 Mar 2021 13:00:11 +0300 Subject: [PATCH] metadata: minor fixup for NewXXXContext functions Signed-off-by: Vasiliy Tolstov --- metadata/context.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/metadata/context.go b/metadata/context.go index 9e7cf4de..db99c5aa 100644 --- a/metadata/context.go +++ b/metadata/context.go @@ -93,7 +93,9 @@ func NewIncomingContext(ctx context.Context, md Metadata) context.Context { ctx = context.Background() } ctx = context.WithValue(ctx, mdIncomingKey{}, &rawMetadata{md}) - ctx = context.WithValue(ctx, mdOutgoingKey{}, &rawMetadata{}) + if v, ok := ctx.Value(mdOutgoingKey{}).(*rawMetadata); !ok || v == nil { + ctx = context.WithValue(ctx, mdOutgoingKey{}, &rawMetadata{}) + } return ctx } @@ -103,7 +105,9 @@ func NewOutgoingContext(ctx context.Context, md Metadata) context.Context { ctx = context.Background() } ctx = context.WithValue(ctx, mdOutgoingKey{}, &rawMetadata{md}) - ctx = context.WithValue(ctx, mdIncomingKey{}, &rawMetadata{}) + if v, ok := ctx.Value(mdIncomingKey{}).(*rawMetadata); !ok || v == nil { + ctx = context.WithValue(ctx, mdIncomingKey{}, &rawMetadata{}) + } return ctx }