From baa50c136add5b1be861e04dbf704d3e4ddf6d8c Mon Sep 17 00:00:00 2001 From: spccold Date: Tue, 12 Sep 2017 05:32:16 +0800 Subject: [PATCH] =?UTF-8?q?simplify=20org.springframework.cloud.netflix.zu?= =?UTF-8?q?ul.filters.ProxyRequestH=E2=80=A6=20(#1965)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * simplify org.springframework.cloud.netflix.zuul.filters.ProxyRequestHelper#setResponse * Update ProxyRequestHelper.java --- .../zuul/filters/ProxyRequestHelper.java | 26 +++++-------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelper.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelper.java index 1f220f51..3f53f437 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelper.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/ProxyRequestHelper.java @@ -157,30 +157,15 @@ public class ProxyRequestHelper { context.setResponseDataStream(entity); } - HttpHeaders httpHeaders = new HttpHeaders(); - for (Entry> header : headers.entrySet()) { - List values = header.getValue(); - for (String value : values) { - httpHeaders.add(header.getKey(), value); - } - } boolean isOriginResponseGzipped = false; - if (httpHeaders.containsKey(CONTENT_ENCODING)) { - List collection = httpHeaders.get(CONTENT_ENCODING); - for (String header : collection) { - if (HTTPRequestUtils.getInstance().isGzipped(header)) { - isOriginResponseGzipped = true; - break; - } - } - } - context.setResponseGZipped(isOriginResponseGzipped); - for (Entry> header : headers.entrySet()) { String name = header.getKey(); for (String value : header.getValue()) { - context.addOriginResponseHeader(name, value); - if (name.equalsIgnoreCase(CONTENT_LENGTH)) { + if (name.equalsIgnoreCase(HttpHeaders.CONTENT_ENCODING) + && HTTPRequestUtils.getInstance().isGzipped(value)) { + isOriginResponseGzipped = true; + } + if (name.equalsIgnoreCase(HttpHeaders.CONTENT_LENGTH)) { context.setOriginContentLength(value); } if (isIncludedHeader(name)) { @@ -188,6 +173,7 @@ public class ProxyRequestHelper { } } } + context.setResponseGZipped(isOriginResponseGzipped); } public void addIgnoredHeaders(String... names) {