workflow fix #371

Merged
vtolstov merged 5 commits from workflowfix into v3 2024-12-10 01:40:56 +03:00
2 changed files with 15 additions and 0 deletions
Showing only changes of commit 275b0a64e5 - Show all commits

View File

@ -4,6 +4,7 @@ package metadata
import ( import (
"net/textproto" "net/textproto"
"sort" "sort"
"strings"
) )
var ( var (
@ -73,6 +74,9 @@ func (md Metadata) Get(key string) (string, bool) {
if !ok { if !ok {
// slow path // slow path
val, ok = md[textproto.CanonicalMIMEHeaderKey(key)] val, ok = md[textproto.CanonicalMIMEHeaderKey(key)]
if !ok {
val, ok = md[strings.ToLower(key)]
}
} }
return val, ok return val, ok
} }
@ -94,6 +98,8 @@ func (md Metadata) Del(keys ...string) {
delete(md, key) delete(md, key)
// slow path // slow path
delete(md, textproto.CanonicalMIMEHeaderKey(key)) delete(md, textproto.CanonicalMIMEHeaderKey(key))
// very slow path
delete(md, strings.ToLower(key))
} }
} }

View File

@ -5,6 +5,15 @@ import (
"testing" "testing"
) )
func TestLowercase(t *testing.T) {
md := New(1)
md["x-request-id"] = "12345"
v, ok := md.Get("X-Request-Id")
if !ok || v == "" {
t.Fatalf("metadata invalid %#+v", md)
}
}
func TestMultipleUsage(t *testing.T) { func TestMultipleUsage(t *testing.T) {
ctx := context.TODO() ctx := context.TODO()
md := New(0) md := New(0)