From aa23660d0c906d795b2f7088196fa049cf2dbb24 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Fri, 10 Jun 2016 18:19:39 -0600 Subject: [PATCH] Upgrade to zuul 1.2.2 fixes gh-1091 closes gh-958 --- .../filters/pre/Servlet30RequestWrapper.java | 97 ++----------------- .../zuul/SampleZuulProxyApplicationTests.java | 5 - .../src/test/resources/application.yml | 2 +- spring-cloud-netflix-dependencies/pom.xml | 2 +- 4 files changed, 12 insertions(+), 94 deletions(-) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30RequestWrapper.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30RequestWrapper.java index 3c7a2944..873b4761 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30RequestWrapper.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30RequestWrapper.java @@ -1,5 +1,5 @@ /* - * Copyright 2013-2015 the original author or authors. + * Copyright 2013-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,21 +16,10 @@ package org.springframework.cloud.netflix.zuul.filters.pre; -import java.io.IOException; -import java.util.Collection; - -import javax.servlet.AsyncContext; -import javax.servlet.DispatcherType; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.Part; - import com.netflix.zuul.http.HttpServletRequestWrapper; +import javax.servlet.http.HttpServletRequest; + class Servlet30RequestWrapper extends HttpServletRequestWrapper { private HttpServletRequest request; @@ -39,78 +28,12 @@ class Servlet30RequestWrapper extends HttpServletRequestWrapper { this.request = request; } + /** + * There is a bug in zuul 1.2.2 where HttpServletRequestWrapper.getRequest returns a wrapped request rather than the raw one. + * @return the original HttpServletRequest + */ @Override - public boolean authenticate(HttpServletResponse response) throws IOException, - ServletException { - return this.request.authenticate(response); + public HttpServletRequest getRequest() { + return this.request; } - - @Override - public void login(String username, String password) throws ServletException { - this.request.login(username, password); - } - - @Override - public void logout() throws ServletException { - this.request.logout(); - } - - @Override - public Collection getParts() throws IOException, IllegalStateException, - ServletException { - return this.request.getParts(); - } - - @Override - public Part getPart(String name) throws IOException, IllegalStateException, - ServletException { - return this.request.getPart(name); - } - - @Override - public ServletContext getServletContext() { - return this.request.getServletContext(); - } - - @Override - public AsyncContext startAsync() { - return this.request.startAsync(); - } - - @Override - public AsyncContext startAsync(ServletRequest servletRequest, - ServletResponse servletResponse) { - return this.request.startAsync(servletRequest, servletResponse); - } - - @Override - public boolean isAsyncStarted() { - try { - return this.request.isAsyncStarted(); - } - catch (Throwable e) { - return false; - } - } - - @Override - public boolean isAsyncSupported() { - try { - return this.request.isAsyncSupported(); - } - catch (Throwable e) { - return false; - } - } - - @Override - public AsyncContext getAsyncContext() { - return this.request.getAsyncContext(); - } - - @Override - public DispatcherType getDispatcherType() { - return this.request.getDispatcherType(); - } - -} \ No newline at end of file +} diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SampleZuulProxyApplicationTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SampleZuulProxyApplicationTests.java index dc5bb9ee..af8f2a5a 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SampleZuulProxyApplicationTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/zuul/SampleZuulProxyApplicationTests.java @@ -18,21 +18,16 @@ package org.springframework.cloud.netflix.zuul; import java.io.InputStream; import java.net.URISyntaxException; -import java.util.Map; import java.util.UUID; -import java.util.concurrent.atomic.AtomicBoolean; import javax.servlet.http.HttpServletRequest; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; -import org.springframework.boot.autoconfigure.web.BasicErrorController; import org.springframework.boot.autoconfigure.web.ErrorAttributes; -import org.springframework.boot.autoconfigure.web.ErrorProperties; import org.springframework.boot.test.IntegrationTest; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.boot.test.TestRestTemplate; diff --git a/spring-cloud-netflix-core/src/test/resources/application.yml b/spring-cloud-netflix-core/src/test/resources/application.yml index 5d440473..27115283 100644 --- a/spring-cloud-netflix-core/src/test/resources/application.yml +++ b/spring-cloud-netflix-core/src/test/resources/application.yml @@ -48,4 +48,4 @@ zuul: feignClient: localappName: localapp methodLevelRequestMappingPath: /hello2 - myPlaceholderHeader: myPlaceholderHeaderValue \ No newline at end of file + myPlaceholderHeader: myPlaceholderHeaderValue diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml index d24bf6d7..5b466c56 100644 --- a/spring-cloud-netflix-dependencies/pom.xml +++ b/spring-cloud-netflix-dependencies/pom.xml @@ -23,7 +23,7 @@ 1.5.3 2.2.0 0.10.1 - 1.1.0 + 1.2.2 1.1.5 1.7 1.0.0