PPysolate SpineREAD THE CODE · UNDERSTAND THE SYSTEM
课程与章节
源码索引 / 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")
	}
}