源码索引 / CURRENT IMPLEMENTATION
learning/go-patterns/patterns/middleware/ownership_test.go
17 行 · 点击行号可定位;函数链接随声明位置更新,不手填行号。
跳到函数 / 声明
package middleware
import "testing"
func TestHeaderWrapperKeepsEndpointMapIndependent(t *testing.T) {
original := map[string]string{"Server": "demo"}
endpoint := Handler(func(Request) Response { return Response{Headers: original} })
h := AddHeader("X-Trace", "yes")(endpoint)
a, b := h(Request{}), h(Request{})
if _, exists := original["X-Trace"]; exists {
t.Fatal("endpoint map mutated")
}
a.Headers["X-Trace"] = "changed"
if b.Headers["X-Trace"] != "yes" {
t.Fatal("responses share mutable headers")
}
}