public void addFilters(ServletContext webappContext) { addExplicitlyDeclaredFilters(webappContext); addAutoDiscoveredFilters(webappContext); }
private void handleFilter(FilterConfiguration filter,ServletContext webappContext){ filter.getFilter().fold(clazz-> { setInitParameters(webappContext.addFilter(getName(filter), clazz), filter) .addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class),true, filter.getMapping()); return 1; }, obj-> { Dynamic filterReg = webappContext.addFilter( getName(filter), obj); filterReg.addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class),true, filter.getMapping()); return 2; }); } private void addAutoDiscoveredFilters(ServletContext webappContext) {
private void addAutoDiscoveredFilters(ServletContext webappContext) { serverData .getRootContext() .getBeansOfType(FilterConfiguration.class) .values() .stream() .filter(f->f.getMapping()!=null) .filter(f->f.getMapping().length>0) .peek(this::logFilter) .forEach(config->handleFilter(config,webappContext)); }
public void run(CompletableFuture start, JaxRsServletConfigurer jaxRsConfigurer, CompletableFuture end) { WebappContext webappContext = new WebappContext("WebappContext", ""); new ServletContextListenerConfigurer(serverData, servletContextListenerData, servletRequestListenerData); jaxRsConfigurer.addServlet(this.serverData,webappContext); new ServletConfigurer(serverData, servletData).addServlets(webappContext); new FilterConfigurer(serverData, this.filterData).addFilters(webappContext); addListeners(webappContext); HttpServer httpServer = HttpServer.createSimpleServer(null, "0.0.0.0", serverData.getPort()); serverData.getModule().getServerConfigManager().accept(new WebServerProvider(httpServer)); addAccessLog(httpServer); addSSL(httpServer); startServer(webappContext, httpServer, start, end); }
private void addExplicitlyDeclaredFilters(ServletContext webappContext) { for (FilterData filterData : filterData) { Dynamic filterReg = webappContext.addFilter( filterData.getFilterName(), filterData.getFilter()); filterReg.addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class),true, filterData.getMapping()); logFilter(filterData); } } private void logFilter(FilterData filter) {
@Override public void onStartup(Set<Class<?>> classes, ServletContext webappContext) throws ServletException { try { ServerThreadLocalVariables.getContext().set(serverData.getModule().getContext()); jaxRsConfigurer.addServlet(this.serverData,webappContext); new ServletConfigurer(serverData, servletData).addServlets(webappContext); new FilterConfigurer(serverData, this.filterData).addFilters(webappContext); new ServletContextListenerConfigurer(serverData, servletContextListenerData, servletRequestListenerData).addListeners(webappContext); } catch (Exception ex) { } }
private void addExplicitlyDeclaredFilters(ServletContext webappContext) { for (FilterData filterData : filterData) { Dynamic filterReg = webappContext.addFilter( filterData.getFilterName(), filterData.getFilter()); filterReg.addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class),true, filterData.getMapping()); logFilter(filterData); } } private void logFilter(FilterData filter) {
public void run(CompletableFuture start, JaxRsServletConfigurer jaxRsConfigurer, CompletableFuture end) { WebappContext webappContext = new WebappContext("WebappContext", ""); new ServletContextListenerConfigurer(serverData, servletContextListenerData, servletRequestListenerData); jaxRsConfigurer.addServlet(this.serverData,webappContext); new ServletConfigurer(serverData, servletData).addServlets(webappContext); new FilterConfigurer(serverData, this.filterData).addFilters(webappContext); addListeners(webappContext); HttpServer httpServer = HttpServer.createSimpleServer(null, "0.0.0.0", serverData.getPort()); serverData.getModule().getServerConfigManager().accept(new WebServerProvider(httpServer)); addAccessLog(httpServer); addSSL(httpServer); startServer(webappContext, httpServer, start, end); }
public void addFilters(ServletContext webappContext) { addExplicitlyDeclaredFilters(webappContext); addAutoDiscoveredFilters(webappContext); }
private void handleFilter(FilterConfiguration filter,ServletContext webappContext){ filter.getFilter().fold(clazz-> { setInitParameters(webappContext.addFilter(getName(filter), clazz), filter) .addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class),true, filter.getMapping()); return 1; }, obj-> { Dynamic filterReg = webappContext.addFilter( getName(filter), obj); filterReg.addMappingForUrlPatterns( EnumSet.allOf(DispatcherType.class),true, filter.getMapping()); return 2; }); } private void addAutoDiscoveredFilters(ServletContext webappContext) {
private void addAutoDiscoveredFilters(ServletContext webappContext) { serverData .getRootContext() .getBeansOfType(FilterConfiguration.class) .values() .stream() .filter(f->f.getMapping()!=null) .filter(f->f.getMapping().length>0) .peek(this::logFilter) .forEach(config->handleFilter(config,webappContext)); }