20187: Preserve CORS and other misc headers.
authorTom Clegg <tom@curii.com>
Wed, 15 Mar 2023 03:35:10 +0000 (23:35 -0400)
committerTom Clegg <tom@curii.com>
Wed, 15 Mar 2023 03:36:15 +0000 (23:36 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/controller/handler.go

index 05b45a0fc0e6270543cf43189fa490f34230cc80..b3d850ac04a224767ac22556760a5534ae7b7fdb 100644 (file)
@@ -272,9 +272,9 @@ func (ent *cacheEnt) refresh(path string, do func(*http.Request) (*http.Response
                return nil, nil, fmt.Errorf("Read error: %w", err)
        }
        header := http.Header{}
-       for _, k := range []string{"Content-Type", "Etag", "Last-Modified"} {
-               if v, ok := header[k]; ok {
-                       resp.Header[k] = v
+       for k, v := range resp.Header {
+               if !dropHeaders[k] && k != "X-Request-Id" {
+                       header[k] = v
                }
        }
        if mediatype, _, err := mime.ParseMediaType(header.Get("Content-Type")); err == nil && mediatype == "application/json" {