diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/BaseWebClientTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/BaseWebClientTests.java index ff944508..d9f0904a 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/BaseWebClientTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/test/BaseWebClientTests.java @@ -23,6 +23,7 @@ import com.netflix.loadbalancer.ServerList; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; +import reactor.core.publisher.Mono; import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -90,6 +91,16 @@ public class BaseWebClientTests { return new HttpBinCompatibleController(); } + @Bean + public GlobalFilter recursiveHttpbinFilter() { + return (exchange, chain) -> { + if (exchange.getRequest().getPath().toString().contains("httpbin/httpbin")) { + return Mono.error(new IllegalStateException("recursive call to /httpbin")); + } + return chain.filter(exchange); + }; + } + @Bean @Order(500) public GlobalFilter modifyResponseFilter() {