request/response middleware no longer canonicalize header key

This commit is contained in:
yusing 2025-01-05 11:25:56 +08:00
parent ae7b27e1c9
commit 4775f4ea31

View file

@ -54,10 +54,10 @@ func (mr *ModifyRequestOpts) modifyHeaders(req *http.Request, resp *http.Respons
req.Host = v req.Host = v
}() }()
} }
headers.Set(k, v) headers[k] = []string{v}
} }
for k, v := range mr.AddHeaders { for k, v := range mr.AddHeaders {
headers.Add(k, v) headers[k] = append(headers[k], v)
} }
} else { } else {
for k, v := range mr.SetHeaders { for k, v := range mr.SetHeaders {
@ -66,14 +66,14 @@ func (mr *ModifyRequestOpts) modifyHeaders(req *http.Request, resp *http.Respons
req.Host = varReplace(req, resp, v) req.Host = varReplace(req, resp, v)
}() }()
} }
headers.Set(k, varReplace(req, resp, v)) headers[k] = []string{varReplace(req, resp, v)}
} }
for k, v := range mr.AddHeaders { for k, v := range mr.AddHeaders {
headers.Add(k, varReplace(req, resp, v)) headers[k] = append(headers[k], varReplace(req, resp, v))
} }
} }
for _, k := range mr.HideHeaders { for _, k := range mr.HideHeaders {
headers.Del(k) delete(headers, k)
} }
} }