diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/trace/WebRequestTraceFilter.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/trace/WebRequestTraceFilter.java index f0164bacf5..71e6fb5b60 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/trace/WebRequestTraceFilter.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/trace/WebRequestTraceFilter.java @@ -45,6 +45,7 @@ import org.springframework.web.filter.OncePerRequestFilter; * * @author Dave Syer * @author Wallace Wadge + * @author Andy Wilkinson */ public class WebRequestTraceFilter extends OncePerRequestFilter implements Ordered { @@ -124,7 +125,9 @@ public class WebRequestTraceFilter extends OncePerRequestFilter implements Order add(trace, Include.CONTEXT_PATH, "contextPath", request.getContextPath()); add(trace, Include.USER_PRINCIPAL, "userPrincipal", (userPrincipal == null ? null : userPrincipal.getName())); - add(trace, Include.PARAMETERS, "parameters", request.getParameterMap()); + if (isIncluded(Include.PARAMETERS)) { + trace.put("parameters", request.getParameterMap()); + } add(trace, Include.QUERY_STRING, "query", request.getQueryString()); add(trace, Include.AUTH_TYPE, "authType", request.getAuthType()); add(trace, Include.REMOTE_ADDRESS, "remoteAddress", request.getRemoteAddr()); diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/trace/WebRequestTraceFilterTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/trace/WebRequestTraceFilterTests.java index 8a7c6b6764..1411d93ba0 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/trace/WebRequestTraceFilterTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/trace/WebRequestTraceFilterTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-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. @@ -38,6 +38,9 @@ import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; /** * Tests for {@link WebRequestTraceFilter}. @@ -45,6 +48,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Dave Syer * @author Wallace Wadge * @author Phillip Webb + * @author Andy Wilkinson */ public class WebRequestTraceFilterTests { @@ -58,13 +62,14 @@ public class WebRequestTraceFilterTests { @Test @SuppressWarnings("unchecked") public void filterAddsTraceWithDefaultIncludes() { - MockHttpServletRequest request = new MockHttpServletRequest("GET", "/foo"); + MockHttpServletRequest request = spy(new MockHttpServletRequest("GET", "/foo")); request.addHeader("Accept", "application/json"); Map trace = this.filter.getTrace(request); assertThat(trace.get("method")).isEqualTo("GET"); assertThat(trace.get("path")).isEqualTo("/foo"); Map map = (Map) trace.get("headers"); assertThat(map.get("request").toString()).isEqualTo("{Accept=application/json}"); + verify(request, times(0)).getParameterMap(); } @Test