in runner-core/src/main/java/org/apache/apisix/plugin/runner/handler/PrepareConfHandler.java [87:103]
private PluginFilterChain createFilterChain(Req req) {
List<PluginFilter> chainFilters = new ArrayList<>();
for (int i = 0; i < req.confLength(); i++) {
TextEntry conf = req.conf(i);
PluginFilter filter = filters.get(conf.name());
if (Objects.isNull(filter)) {
logger.warn("receive undefined filter: {}, skip it", conf.name());
continue;
}
if (chainFilters.contains(filter)) {
logger.warn("skip the same filter: {}", conf.name());
continue;
}
chainFilters.add(filter);
}
return new PluginFilterChain(chainFilters);
}