web/src/main/java/org/springframework/security/web/server/util/matcher/AndServerWebExchangeMatcher.java
@Override
	public Mono<MatchResult> matches(ServerWebExchange exchange) {
		return Mono.defer(() -> {
			Map<String, Object> variables = new HashMap<>();
			return Flux.fromIterable(matchers)
				.flatMap(matcher -> matcher.matches(exchange))
				.doOnNext(matchResult -> variables.putAll(matchResult.getVariables()))
				.all(MatchResult::isMatch)
				.flatMap(allMatch -> allMatch ? MatchResult.match(variables) : MatchResult.notMatch());
		});
	}
@Override
	public Mono<MatchResult> matches(ServerWebExchange exchange) {
		return Mono.defer(() -> {
			Map<String, Object> variables = new HashMap<>();
			return Flux.fromIterable(matchers)
				.flatMap(matcher -> matcher.matches(exchange))
				.doOnNext(matchResult -> variables.putAll(matchResult.getVariables()))
				.all(MatchResult::isMatch)
				.flatMap(allMatch -> allMatch ? MatchResult.match(variables) : MatchResult.notMatch());
		});
	}
@ Override public Mono < MatchResult > matches ( ServerWebExchange exchange ) { return Mono . defer ( ( ) -> { Map < String , Object > variables = new HashMap <> ( ) ; return Flux . fromIterable ( matchers ) . flatMap ( matcher -> matcher . matches ( exchange ) ) . doOnNext ( matchResult -> variables . putAll ( matchResult . getVariables ( ) ) ) . all ( MatchResult :: isMatch ) . flatMap ( allMatch -> allMatch ? MatchResult . match ( variables ) : MatchResult . notMatch ( ) ) ; } ) ; }
/* (non-Javadoc)
@see org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher#matches(org.springframework.web.server.ServerWebExchange)
/ * ( non - Javadoc )