From d815bb5106b0cfd7ccc731c3e073875df70c5a4d Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Thu, 1 Nov 2018 12:48:08 -0400 Subject: [PATCH] Add null checks for org.springframework.boot.autoconfigure.web.ServerProperties.Servlet#getContextPath() Fixes gh-3259 --- .../cloud/netflix/zuul/ZuulProxyAutoConfiguration.java | 8 ++++++-- .../cloud/netflix/zuul/ZuulServerAutoConfiguration.java | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulProxyAutoConfiguration.java b/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulProxyAutoConfiguration.java index 1cccc61b66..7ebbc37b00 100644 --- a/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulProxyAutoConfiguration.java +++ b/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulProxyAutoConfiguration.java @@ -89,7 +89,9 @@ public HasFeatures zuulFeature() { @Bean @ConditionalOnMissingBean(DiscoveryClientRouteLocator.class) public DiscoveryClientRouteLocator discoveryRouteLocator() { - return new DiscoveryClientRouteLocator(this.server.getServlet().getContextPath(), this.discovery, this.zuulProperties, + String contextPath = this.server.getServlet().getContextPath(); + if(contextPath == null) contextPath = ""; + return new DiscoveryClientRouteLocator(contextPath, this.discovery, this.zuulProperties, this.serviceRouteMapper, this.registration); } @@ -97,7 +99,9 @@ public DiscoveryClientRouteLocator discoveryRouteLocator() { @Bean @ConditionalOnMissingBean(PreDecorationFilter.class) public PreDecorationFilter preDecorationFilter(RouteLocator routeLocator, ProxyRequestHelper proxyRequestHelper) { - return new PreDecorationFilter(routeLocator, this.server.getServlet().getContextPath(), this.zuulProperties, + String contextPath = this.server.getServlet().getContextPath(); + if(contextPath == null) contextPath = ""; + return new PreDecorationFilter(routeLocator, contextPath, this.zuulProperties, proxyRequestHelper); } diff --git a/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration.java b/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration.java index aa4bb7b7db..18dbf0ce77 100644 --- a/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration.java +++ b/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration.java @@ -106,7 +106,9 @@ public CompositeRouteLocator primaryRouteLocator( @Bean @ConditionalOnMissingBean(SimpleRouteLocator.class) public SimpleRouteLocator simpleRouteLocator() { - return new SimpleRouteLocator(this.server.getServlet().getContextPath(), + String contextPath = this.server.getServlet().getContextPath(); + if(contextPath == null) contextPath = ""; + return new SimpleRouteLocator(contextPath, this.zuulProperties); }