@Override public void run(Configuration configuration, Environment environment) { LOGGER.info("Registering AssetBundle with name: {} for path {}", assetsName, uriPath + '*'); environment.servlets().addServlet(assetsName, createServlet()).addMapping(uriPath + '*'); }
import org.eclipse.jetty.servlets.CrossOriginFilter; import javax.servlet.DispatcherType; import java.util.EnumSet; public void run(Configuration conf, Environment environment) { // Enable CORS headers final FilterRegistration.Dynamic cors = environment.servlets().addFilter("CORS", CrossOriginFilter.class); // Configure CORS parameters cors.setInitParameter("allowedOrigins", "*"); cors.setInitParameter("allowedHeaders", "X-Requested-With,Content-Type,Accept,Origin"); cors.setInitParameter("allowedMethods", "OPTIONS,GET,PUT,POST,DELETE,HEAD"); // Add URL mapping cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); }
@Override public void run(GraphHopperServerConfiguration configuration, Environment environment) { environment.jersey().register(new RootResource()); environment.servlets().addFilter("cors", CORSFilter.class).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "*"); environment.servlets().addFilter("ipfilter", new IPFilter(configuration.getGraphHopperConfiguration().get("jetty.whiteips", ""), configuration.getGraphHopperConfiguration().get("jetty.blackips", ""))).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "*"); } }
@Override public void run(BithubServerConfiguration config, Environment environment) throws Exception { String githubUser = config.getGithubConfiguration().getUser(); String githubToken = config.getGithubConfiguration().getToken(); String githubWebhookUser = config.getGithubConfiguration().getWebhookConfiguration().getUsername(); String githubWebhookPwd = config.getGithubConfiguration().getWebhookConfiguration().getPassword(); List<RepositoryConfiguration> githubRepositories = config.getGithubConfiguration().getRepositories(); BigDecimal payoutRate = config.getBithubConfiguration().getPayoutRate(); String organizationName = config.getOrganizationConfiguration().getName(); String donationUrl = config.getOrganizationConfiguration().getDonationUrl().toExternalForm(); String coinbaseApiKey = config.getCoinbaseConfiguration().getApiKey(); String coinbaseApiSecret = config.getCoinbaseConfiguration().getApiSecret(); GithubClient githubClient = new GithubClient(githubUser, githubToken); CoinbaseClient coinbaseClient = new CoinbaseClient(coinbaseApiKey, coinbaseApiSecret); CacheManager cacheManager = new CacheManager(coinbaseClient, githubClient, githubRepositories, payoutRate); environment.servlets().addFilter("CORS", CrossOriginFilter.class) .addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*"); environment.lifecycle().manage(cacheManager); environment.jersey().register(new GithubController(githubRepositories, githubClient, coinbaseClient, payoutRate)); environment.jersey().register(new StatusController(cacheManager, githubRepositories)); environment.jersey().register(new DashboardController(organizationName, donationUrl, cacheManager)); environment.jersey().register(new IOExceptionMapper()); environment.jersey().register(new UnauthorizedHookExceptionMapper()); environment.jersey().register(new BasicAuthProvider<>(new GithubWebhookAuthenticator(githubWebhookUser, githubWebhookPwd), GithubWebhookAuthenticator.REALM)); }
WebSocketResourceProviderFactory provisioningServlet = new WebSocketResourceProviderFactory(provisioningEnvironment); ServletRegistration.Dynamic websocket = environment.servlets().addServlet("WebSocket", webSocketServlet ); ServletRegistration.Dynamic provisioning = environment.servlets().addServlet("Provisioning", provisioningServlet); provisioningServlet.start(); FilterRegistration.Dynamic filter = environment.servlets().addFilter("CORS", CrossOriginFilter.class); filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); filter.setInitParameter("allowedOrigins", "*");
FilterRegistration.Dynamic filter = environment.servlets().addFilter(FILTER_NAME, corsFilter);
@Override public void run(Environment environment) { LOGGER.info("Registering AssetBundle with name: {} for path {}", assetsName, uriPath + '*'); environment.servlets().addServlet(assetsName, createServlet()).addMapping(uriPath + '*'); }
private void enableCORS(Environment environment, List<String> urlPatterns) { // Enable CORS headers final FilterRegistration.Dynamic cors = environment.servlets().addFilter("CORS", CrossOriginFilter.class); // Configure CORS parameters cors.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*"); cors.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "X-Requested-With,Authorization,Content-Type,Accept,Origin"); cors.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "OPTIONS,GET,PUT,POST,DELETE,HEAD"); // Add URL mapping String[] urls = urlPatterns.toArray(new String[urlPatterns.size()]); cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, urls); }
private void configureAuthentication(Environment environment, NewtsConfig config) { if (config.getAuthenticationConfig().isEnabled()) { environment.servlets() .addFilter("BasicAuth", new HttpBasicAuthenticationFilter(config)) .addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*"); } }
private void configureAuthentication(Environment environment, NewtsConfig config) { if (config.getAuthenticationConfig().isEnabled()) { environment.servlets() .addFilter("BasicAuth", new HttpBasicAuthenticationFilter(config)) .addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*"); } }
private static void applyCors(WebSecurityConfiguration derivedConfig, Environment environment) { if (!derivedConfig.cors().isPresent() || !derivedConfig.cors().get().enabled()) { return; } CrossOriginFilter filter = new CrossOriginFilter(); FilterRegistration.Dynamic dynamic = environment.servlets().addFilter("CrossOriginFilter", filter); dynamic.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, ROOT_PATH); dynamic.setInitParameters(buildCorsPropertyMap(derivedConfig.cors().get())); }
@Override public void run(GraphHopperServerConfiguration configuration, Environment environment) { environment.jersey().register(new RootResource()); environment.servlets().addFilter("cors", CORSFilter.class).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "*"); environment.servlets().addFilter("ipfilter", new IPFilter(configuration.getGraphHopperConfiguration().get("jetty.whiteips", ""), configuration.getGraphHopperConfiguration().get("jetty.blackips", ""))).addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "*"); } }
private void configureCors(Environment environment) { Dynamic filter = environment.servlets().addFilter("CORS", CrossOriginFilter.class); filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); filter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,PUT,POST,DELETE,OPTIONS"); filter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*"); filter.setInitParameter(CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*"); filter.setInitParameter("allowedHeaders", "Content-Type,Authorization,X-Requested-With,Content-Length,Accept,Origin"); filter.setInitParameter("allowCredentials", "true"); }
private void configureCors(Environment environment) { FilterRegistration.Dynamic filter = environment.servlets().addFilter("CORS", CrossOriginFilter.class); filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); filter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,PUT,POST,DELETE,OPTIONS"); filter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*"); filter.setInitParameter(CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*"); filter.setInitParameter("allowedHeaders", "Content-Type,Authorization,X-Requested-With,Content-Length,Accept,Origin"); filter.setInitParameter("allowCredentials", "true"); }
protected FilterRegistration.Dynamic configureCorsFilter(final T configuration, final Environment environment) { FilterRegistration.Dynamic _addFilter = environment.servlets().addFilter("CORS", CrossOriginFilter.class); final Procedure1<FilterRegistration.Dynamic> _function = (FilterRegistration.Dynamic it) -> { it.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*"); it.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "*"); it.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "OPTIONS,GET,PUT,POST,DELETE,HEAD"); it.setInitParameter(CrossOriginFilter.ALLOW_CREDENTIALS_PARAM, "true"); it.addMappingForUrlPatterns(EnumSet.<DispatcherType>allOf(DispatcherType.class), true, "/*"); it.setInitParameter(CrossOriginFilter.CHAIN_PREFLIGHT_PARAM, "false"); }; return ObjectExtensions.<FilterRegistration.Dynamic>operator_doubleArrow(_addFilter, _function); }
@Test public void testDefaultFiltersApplied() throws Exception { WebSecurityBundle bundle = new WebSecurityBundle(); WebSecurityConfiguration webSecurityConfig = WebSecurityConfiguration.DEFAULT; when(this.appConfig.getWebSecurityConfiguration()).thenReturn(webSecurityConfig); bundle.run(this.appConfig, this.environment); verify(this.environment.servlets(), never()).addFilter(anyString(), isA(CrossOriginFilter.class)); }
/** * Load filter, servlets or listeners for WebApplicationContext. */ private void loadWebConfigs(Environment environment, SpringConfiguration config, ApplicationContext appCtx) throws ClassNotFoundException { // Load filters. loadFilters(config.getFilters(), environment); // Load servlet listener. environment.servlets().addServletListeners(new RestContextLoaderListener((XmlRestWebApplicationContext) appCtx)); // Load servlets. loadServlets(config.getServlets(), environment); }
@Override protected void configureServlets() { final GuiceFilter guiceFilter = new GuiceFilter(); environment.servlets().addFilter(GUICE_FILTER, guiceFilter) .addMappingForUrlPatterns(dispatcherTypes, false, ROOT_PATH); environment.admin().addFilter(GUICE_FILTER, new AdminGuiceFilter(guiceFilter)) .addMappingForUrlPatterns(dispatcherTypes, false, ROOT_PATH); } }
@Test public void testFiltersAppliedWhenEnabled() throws Exception { WebSecurityBundle bundle = new WebSecurityBundle(); WebSecurityConfiguration webSecurityConfig = WebSecurityConfiguration.builder() .cors(CorsConfiguration.builder().allowedOrigins("http://origin").build()) .build(); when(this.appConfig.getWebSecurityConfiguration()).thenReturn(webSecurityConfig); bundle.run(this.appConfig, this.environment); verify(this.environment.servlets()).addFilter(anyString(), isA(CrossOriginFilter.class)); }