private SelectorData defaultMatchSelector(final ServerWebExchange exchange, final List<SelectorData> selectors, final String path) {
        Pair<Boolean, SelectorData> matchSelectorPair = matchSelector(exchange, selectors);
        SelectorData selectorData = matchSelectorPair.getRight();
        if (Objects.nonNull(selectorData)) {
            LogUtils.info(LOG, "{} selector match success from default strategy", named());
            // cache selector data
            if (matchSelectorPair.getLeft()) {
                cacheSelectorData(path, selectorData);
            }
            return selectorData;
        } else {
            // if not match selector, cache empty selector data.
            if (matchSelectorPair.getLeft()) {
                SelectorData emptySelectorData = SelectorData.builder().pluginName(named()).build();
                cacheSelectorData(path, emptySelectorData);
            }
            return null;
        }
    }
Handle rule if null mono.

@param pluginName the plugin name
@param exchange the exchange
@param chain the chain
@return the mono
shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/AbstractShenyuPlugin.java