Browse Source

Polish contribution

See gh-35603
pull/35608/head
Sam Brannen 3 months ago
parent
commit
3eef39e6ab
  1. 18
      spring-web/src/main/java/org/springframework/web/filter/AbstractRequestLoggingFilter.java
  2. 6
      spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java

18
spring-web/src/main/java/org/springframework/web/filter/AbstractRequestLoggingFilter.java

@ -188,14 +188,13 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter @@ -188,14 +188,13 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter
}
/**
* Configure a predicate for selecting which query params should be logged if
* {@link #setIncludeQueryString(boolean)} is set to {@code true}.
* <p>By default this is not set in which case all query params are logged
*
* <p>If there are multiple values for the same query param,
* the predicate will be applied once per query param name.
* As a result, the use of this predicate may result in a different query string
* than the one returned by {@link HttpServletRequest#getQueryString()}.
* Configure a predicate for selecting which query parameters should be logged
* if {@link #setIncludeQueryString(boolean)} is set to {@code true}.
* <p>By default this is not set, in which case all query parameters are logged.
* <p>The predicate will be applied once per query parameter name. Thus, if
* there are multiple values for the same query parameter name, the logged query
* string will contain fewer {@code name=value} mappings than the one returned by
* {@link HttpServletRequest#getQueryString()}.
* @param queryParamPredicate the predicate to use
* @since 7.0
*/
@ -214,7 +213,7 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter @@ -214,7 +213,7 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter
/**
* Configure a predicate for selecting which headers should be logged if
* {@link #setIncludeHeaders(boolean)} is set to {@code true}.
* <p>By default this is not set in which case all headers are logged.
* <p>By default this is not set, in which case all headers are logged.
* @param headerPredicate the predicate to use
* @since 5.2
*/
@ -364,7 +363,6 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter @@ -364,7 +363,6 @@ public abstract class AbstractRequestLoggingFilter extends OncePerRequestFilter
for (String name : queryParams.keySet()) {
if (!getQueryParamPredicate().test(name)) {
updatedQueryParams.set(name, "masked");
break;
}
}

6
spring-web/src/test/java/org/springframework/web/filter/RequestLoggingFilterTests.java

@ -108,14 +108,14 @@ class RequestLoggingFilterTests { @@ -108,14 +108,14 @@ class RequestLoggingFilterTests {
@Test
void queryStringIncluded() throws Exception {
request.setQueryString("booking=42&code=73&category=hotel&code=37&category=resort");
request.setQueryString("booking=42&code=73&category=hotel&code=37&category=resort&ignore=enigma&code=99");
filter.setIncludeQueryString(true);
filter.setQueryParamPredicate(name -> !name.equals("code") && !name.equals("ignore"));
applyFilter();
assertThat(filter.beforeRequestMessage).contains("/hotels?booking=42&code=masked&category=hotel&category=resort");
assertThat(filter.afterRequestMessage).contains("/hotels?booking=42&code=masked&category=hotel&category=resort");
assertThat(filter.beforeRequestMessage).contains("/hotels?booking=42&code=masked&category=hotel&category=resort&ignore=masked");
assertThat(filter.afterRequestMessage).contains("/hotels?booking=42&code=masked&category=hotel&category=resort&ignore=masked");
}
@Test

Loading…
Cancel
Save