diff --git a/gateway/handlers/proxy.go b/gateway/handlers/proxy.go index 95b4412f97570da0acf94323259e42b362be6161..eb012a167e2858801aad7b57c481e5f0ccbb2887 100644 --- a/gateway/handlers/proxy.go +++ b/gateway/handlers/proxy.go @@ -168,9 +168,12 @@ func invokeService(w http.ResponseWriter, r *http.Request, metrics metrics.Metri clientHeader := w.Header() copyHeaders(&clientHeader, &response.Header) - // TODO: copyHeaders removes the need for this line - test removal. - // Match header for strict services - w.Header().Set("Content-Type", r.Header.Get("Content-Type")) + header := response.Header.Get("Content-Type") + if len(header) > 0 { + w.Header().Set("Content-Type", response.Header.Get("Content-Type")) + } else { + w.Header().Set("Content-Type", r.Header.Get("Content-Type")) + } writeHead(service, metrics, http.StatusOK, w) w.Write(responseBody)