Merge pull request #515 from CPGFinanceSystems-master

* CPGFinanceSystems-master:
  Add X-Forwarded-Proto HTTP header to zuul proxy requests
This commit is contained in:
Spencer Gibb
2015-09-08 12:34:08 -06:00
2 changed files with 6 additions and 0 deletions

View File

@@ -21,6 +21,7 @@ import java.net.URL;
import javax.servlet.http.HttpServletResponse;
import com.netflix.zuul.constants.ZuulHeaders;
import lombok.extern.apachecommons.CommonsLog;
import org.springframework.cloud.netflix.zuul.filters.ProxyRouteLocator;
@@ -91,6 +92,9 @@ public class PreDecorationFilter extends ZuulFilter {
"X-Forwarded-Host",
ctx.getRequest().getServerName() + ":"
+ String.valueOf(ctx.getRequest().getServerPort()));
ctx.addZuulRequestHeader(
ZuulHeaders.X_FORWARDED_PROTO,
ctx.getRequest().getScheme());
if (StringUtils.hasText(route.getPrefix())) {
ctx.addZuulRequestHeader("X-Forwarded-Prefix", route.getPrefix());
}

View File

@@ -80,6 +80,7 @@ public class PreDecorationFilterTests {
RequestContext ctx = RequestContext.getCurrentContext();
assertEquals("/foo/1", ctx.get("requestURI"));
assertEquals("localhost:80", ctx.getZuulRequestHeaders().get("x-forwarded-host"));
assertEquals("http", ctx.getZuulRequestHeaders().get("x-forwarded-proto"));
assertEquals("/api", ctx.getZuulRequestHeaders().get("x-forwarded-prefix"));
assertEquals("foo", getHeader(ctx.getOriginResponseHeaders(), "x-zuul-serviceid"));
}
@@ -94,6 +95,7 @@ public class PreDecorationFilterTests {
RequestContext ctx = RequestContext.getCurrentContext();
assertEquals("/1", ctx.get("requestURI"));
assertEquals("localhost:80", ctx.getZuulRequestHeaders().get("x-forwarded-host"));
assertEquals("http", ctx.getZuulRequestHeaders().get("x-forwarded-proto"));
assertEquals("/api/foo", ctx.getZuulRequestHeaders().get("x-forwarded-prefix"));
assertEquals("foo", getHeader(ctx.getOriginResponseHeaders(), "x-zuul-serviceid"));
}