diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatorWebFilter.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatorWebFilter.java index b5467923af9..7cb247394be 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatorWebFilter.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/ExchangeMutatorWebFilter.java @@ -18,7 +18,6 @@ package org.springframework.test.web.reactive.server; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; -import java.util.function.UnaryOperator; import reactor.core.publisher.Mono; @@ -46,16 +45,24 @@ import org.springframework.web.server.WebFilterChain; *
Example usage: * *
- * ExchangeMutatorWebFilter mutator = new ExchangeMutatorWebFilter(exchange -> ...); + * Function<ServerWebExchange, ServerWebExchange> fn1 = ...; + * Function<ServerWebExchange, ServerWebExchange> fn2 = ...; + * + * ExchangeMutatorWebFilter mutator = new ExchangeMutatorWebFilter(fn1().andThen(fn2())); * WebTestClient client = WebTestClient.bindToController(new MyController()).webFilter(mutator).build(); ** + * *
It is also possible to apply "per request" transformations: * *
- * ExchangeMutatorWebFilter mutator = new ExchangeMutatorWebFilter(exchange -> ...);
+ * ExchangeMutatorWebFilter mutator = new ExchangeMutatorWebFilter();
* WebTestClient client = WebTestClient.bindToController(new MyController()).webFilter(mutator).build();
- * client.filter(mutator.perClient(exchange -> ...)).get().uri("/").exchange();
+ *
+ * Function<ServerWebExchange, ServerWebExchange> fn1 = ...;
+ * Function<ServerWebExchange, ServerWebExchange> fn2 = ...;
+ *
+ * client.filter(mutator.perClient(fn1().andThen(fn2()))).get().uri("/").exchange();
*
*
* @author Rossen Stoyanchev
@@ -69,7 +76,11 @@ public class ExchangeMutatorWebFilter implements WebFilter {
new ConcurrentHashMap<>(4);
- public ExchangeMutatorWebFilter(UnaryOperator