From ad86d48c6a125a9ad19ca9795967a9cecfc4f1b5 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 25 Aug 2015 11:12:07 +0100 Subject: [PATCH] Use HttpHeaders for headers (case insensitive) Fixes gh-306 --- .../zuul/filters/ProxyRequestHelper.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 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 d91d3d7f3..b70ccbe71 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 @@ -30,16 +30,18 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import lombok.extern.apachecommons.CommonsLog; + import org.apache.commons.io.IOUtils; import org.springframework.boot.actuate.trace.TraceRepository; +import org.springframework.http.HttpHeaders; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; +import org.springframework.web.util.UriUtils; +import org.springframework.web.util.WebUtils; import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.util.HTTPRequestUtils; -import org.springframework.web.util.UriUtils; -import org.springframework.web.util.WebUtils; /** * @author Dave Syer @@ -93,17 +95,17 @@ public class ProxyRequestHelper { public MultiValueMap buildZuulRequestHeaders( HttpServletRequest request) { RequestContext context = RequestContext.getCurrentContext(); - MultiValueMap headers = new LinkedMultiValueMap<>(); + MultiValueMap headers = new HttpHeaders(); Enumeration headerNames = request.getHeaderNames(); if (headerNames != null) { while (headerNames.hasMoreElements()) { String name = headerNames.nextElement(); - if (isIncludedHeader(name)) { - Enumeration values = request.getHeaders(name); - while (values.hasMoreElements()) { - String value = values.nextElement(); - headers.add(name, value); - } + if (isIncludedHeader(name)) { + Enumeration values = request.getHeaders(name); + while (values.hasMoreElements()) { + String value = values.nextElement(); + headers.add(name, value); + } } } } @@ -111,7 +113,7 @@ public class ProxyRequestHelper { for (String header : zuulRequestHeaders.keySet()) { headers.set(header, zuulRequestHeaders.get(header)); } - headers.set("accept-encoding", "gzip"); + headers.set(HttpHeaders.ACCEPT_ENCODING, "gzip"); return headers; }