private void addServletFilters(RegistryConfiguration registryConfiguration, Environment environment) {
List<ServletFilterConfiguration> servletFilterConfigurations = registryConfiguration.getServletFilters();
if (servletFilterConfigurations != null && !servletFilterConfigurations.isEmpty()) {
for (ServletFilterConfiguration servletFilterConfig: servletFilterConfigurations) {
try {
String className = servletFilterConfig.getClassName();
Map<String, String> params = servletFilterConfig.getParams();
String typeSuffix = params.get("type") != null ? ("-" + params.get("type").toString()) : "";
LOG.info("Registering servlet filter [{}]", servletFilterConfig);
Class<? extends Filter> filterClass = (Class<? extends Filter>) Class.forName(className);
FilterRegistration.Dynamic dynamic = environment.servlets().addFilter(className + typeSuffix, filterClass);
if(params != null) {
dynamic.setInitParameters(params);
}
dynamic.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
} catch (Exception e) {
LOG.error("Error registering servlet filter {}", servletFilterConfig);
throw new RuntimeException(e);
}
}
}
}