From e4ee705eb26731abe77309fa5011cf881c9b9f40 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Tue, 29 Apr 2025 23:13:57 +0300 Subject: [PATCH] metadata: sync with grpc Signed-off-by: Vasiliy Tolstov --- metadata/metadata.go | 15 ++------------- metadata/metadata_test.go | 21 +++++++++------------ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/metadata/metadata.go b/metadata/metadata.go index 59c4501e..5c2a8119 100644 --- a/metadata/metadata.go +++ b/metadata/metadata.go @@ -112,7 +112,7 @@ func (md Metadata) Get(k string) []string { v, ok = md[strings.ToLower(k)] } if !ok { - v, ok = md[textproto.CanonicalMIMEHeaderKey(k)] + v = md[textproto.CanonicalMIMEHeaderKey(k)] } return v } @@ -124,24 +124,13 @@ func (md Metadata) GetJoined(k string) string { } // Set sets the value of a given key with a slice of values. -func (md Metadata) Add(key string, vals ...string) { +func (md Metadata) Set(key string, vals ...string) { if len(vals) == 0 { return } md[key] = vals } -// Set sets the value of a given key with a slice of values. -func (md Metadata) Set(kvs ...string) { - if len(kvs)%2 == 1 { - panic(fmt.Sprintf("metadata: Set got an odd number of input pairs for metadata: %d", len(kvs))) - } - - for i := 0; i < len(kvs); i += 2 { - md[kvs[i]] = append(md[kvs[i]], kvs[i+1]) - } -} - // Append adds the values to key k, not overwriting what was already stored at // that key. func (md Metadata) Append(key string, vals ...string) { diff --git a/metadata/metadata_test.go b/metadata/metadata_test.go index 507c08c9..5818844e 100644 --- a/metadata/metadata_test.go +++ b/metadata/metadata_test.go @@ -5,6 +5,15 @@ import ( "testing" ) +func TesSet(t *testing.T) { + md := Pairs("key1", "val1", "key2", "val2") + md.Set("key1", "val2", "val3") + v := md.GetJoined("X-Request-Id") + if v != "val2, val3" { + t.Fatal("set not works") + } +} + /* func TestAppendOutgoingContextModify(t *testing.T) { md := Pairs("key1", "val1") @@ -47,18 +56,6 @@ func TestMultipleUsage(t *testing.T) { _ = omd } -func TestMetadataSetMultiple(t *testing.T) { - md := New(4) - md.Set("key1", "val1", "key2", "val2") - - if v := md.GetJoined("key1"); v != "val1" { - t.Fatalf("invalid kv %#+v", md) - } - if v := md.GetJoined("key2"); v != "val2" { - t.Fatalf("invalid kv %#+v", md) - } -} - func TestPairs(t *testing.T) { md := Pairs("key1", "val1", "key2", "val2") if v := md.Get("key1"); v == nil {