diff --git a/proxy/chunkreq.go b/proxy/chunkreq.go index 1fca9d9..9227b78 100644 --- a/proxy/chunkreq.go +++ b/proxy/chunkreq.go @@ -100,12 +100,9 @@ func ChunkedProxyRequest(ctx context.Context, c *touka.Context, u string, cfg *c } // 复制响应头,排除需要移除的 header - for key, values := range resp.Header { - if _, shouldRemove := respHeadersToRemove[key]; !shouldRemove { - for _, value := range values { - c.Header(key, value) - } - } + c.SetHeaders(resp.Header) + for key := range respHeadersToRemove { + c.DelHeader(key) } switch cfg.Server.Cors { diff --git a/proxy/docker.go b/proxy/docker.go index 23cdd51..44e4a72 100644 --- a/proxy/docker.go +++ b/proxy/docker.go @@ -241,7 +241,7 @@ func GhcrRequest(ctx context.Context, c *touka.Context, u string, image *imageIn } } */ - copyHeader(resp.Header, c.GetAllReqHeader()) + c.SetHeaders(resp.Header) c.Status(resp.StatusCode)