diff --git a/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30WrapperFilter.java b/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30WrapperFilter.java index b7516415b9..0c376d2093 100644 --- a/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30WrapperFilter.java +++ b/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/pre/Servlet30WrapperFilter.java @@ -20,6 +20,8 @@ import javax.servlet.http.HttpServletRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.netflix.zuul.filters.ZuulProperties; import org.springframework.cloud.netflix.zuul.util.RequestUtils; import org.springframework.util.Assert; import org.springframework.util.ReflectionUtils; @@ -38,6 +40,8 @@ */ public class Servlet30WrapperFilter extends ZuulFilter { + @Autowired + private ZuulProperties zuulProperties; private Field requestField = null; public Servlet30WrapperFilter() { @@ -80,6 +84,10 @@ else if (RequestUtils.isDispatcherServletRequest()) { // If it's going through the dispatcher we need to buffer the body ctx.setRequest(new Servlet30RequestWrapper(request)); } + else if (zuulProperties.isTraceRequestBody()) { + // If requesty body tracing we need to buffer the body + ctx.setRequest(new Servlet30RequestWrapper(request)); + } return null; }