Don't mark the request as routed when we need to forward (#1184)
Fixes gh-1125
This commit is contained in:
@@ -29,7 +29,6 @@ import org.springframework.web.server.ServerWebExchange;
|
||||
|
||||
import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR;
|
||||
import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.isAlreadyRouted;
|
||||
import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.setAlreadyRouted;
|
||||
|
||||
public class ForwardRoutingFilter implements GlobalFilter, Ordered {
|
||||
|
||||
@@ -66,7 +65,6 @@ public class ForwardRoutingFilter implements GlobalFilter, Ordered {
|
||||
if (isAlreadyRouted(exchange) || !"forward".equals(scheme)) {
|
||||
return chain.filter(exchange);
|
||||
}
|
||||
setAlreadyRouted(exchange);
|
||||
|
||||
// TODO: translate url?
|
||||
|
||||
|
||||
@@ -94,8 +94,7 @@ public class ForwardRoutingFilterTests {
|
||||
verifyNoMoreInteractions(chain);
|
||||
verify(dispatcherHandler).handle(exchange);
|
||||
|
||||
assertThat(exchange.getAttributes().get(GATEWAY_ALREADY_ROUTED_ATTR))
|
||||
.isEqualTo(true);
|
||||
assertThat(exchange.getAttributes().get(GATEWAY_ALREADY_ROUTED_ATTR)).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -112,6 +111,8 @@ public class ForwardRoutingFilterTests {
|
||||
|
||||
verify(dispatcherHandler).handle(captor.capture());
|
||||
|
||||
assertThat(exchange.getAttributes().get(GATEWAY_ALREADY_ROUTED_ATTR)).isNull();
|
||||
|
||||
ServerWebExchange webExchange = captor.getValue();
|
||||
|
||||
URI forwardedUrl = webExchange.getRequiredAttribute(GATEWAY_REQUEST_URL_ATTR);
|
||||
|
||||
Reference in New Issue
Block a user