I am attempting to add CORS header to all responses from a jetty server, serving static content.
This is the responsible code:
private Server initServer() {
Server staticServer = new Server(8181);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
// Add the CrossOriginFilter
FilterHolder filterHolder = getFilterHolder();
context.addFilter(filterHolder, "/*", EnumSet.allOf(DispatcherType.class));
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setDirAllowed(true);
resourceHandler.setDirectoriesListed(true);
resourceHandler.setResourceBase(DIR_ASSETS.toString());
context.insertHandler(resourceHandler);
staticServer.setHandler(context);
return staticServer;
}
private static FilterHolder getFilterHolder() {
FilterHolder filterHolder = new FilterHolder(new CrossOriginFilter());
filterHolder.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*");
filterHolder.setInitParameter(CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*");
filterHolder.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,POST,HEAD");
filterHolder.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "X-Requested-With,Content-Type,Accept,Origin");
return filterHolder;
}
EDIT:
What's happening is that no CORS headers are getting appended to any response. Does anyone see a glaring issue with the config (or even the question being posed)?