make org.springframework.web.reactive.result.method.RequestMappingInfoHandlerMapping#getHandlerInternal can be repeated call by caching HandlerMethod in ServerWebExchange's attributes .

In some scenes, I need get HandlerMethod info before org.springframework.web.reactive.DispatcherHandler, such as WebFilter

public class MetaFilter implements WebFilter, Ordered {

    public MetaFilter(List<HandlerMapping> mappings) {
        this.handlerMappings = mappings;
    }
    @Override
    public Mono<Void> filter(@NonNull ServerWebExchange exchange, WebFilterChain chain) {
        return Flux.fromIterable(this.handlerMappings)
            .concatMap(mapping -> mapping.getHandler(exchange))
            // other code;
    }

}

To avoid duplicate search for HandlerMethod in mapping.getHandler , I suggest implementing a cached getHandlerInternal.