@Override
public void run(MyAppConfiguration myAppConfiguration, Environment environment) throws Exception {
//Force browsers to reload all js and html files for every request as angular gets screwed up
environment.servlets()
.addFilter("CacheBustingFilter", new CacheBustingFilter())
.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*");
enableCorsHeaders(environment);
}
private void enableCorsHeaders(Environment env) {
final FilterRegistration.Dynamic cors = env.servlets().addFilter("CORS", CrossOriginFilter.class);
// Configure CORS parameters
cors.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*");
cors.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "X-Requested-With,Content-Type,Accept,Origin");
cors.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "OPTIONS,GET,PUT,POST,DELETE,HEAD");
// Add URL mapping
cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
}GET http://localhost:8199/api/iceberg/reconciliations Accept: application/json, text/plain, */* Origin: http://localhost:4200 X-DevTools-Emulate-Network-Conditions-Client-Id: 90d7ac77-f45f-4d60-a667-a56da9e0582b X-DevTools-Request-Id: 7836.4077 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 Referer: http://localhost:4200/dashboard Accept-Encoding: gzip, deflate, br Accept-Language: en-GB,en-US;q=0.8,en;q=0.6HTTP/1.1 401 UnauthorizedDate: Thu, 06 Jul 2017 10:59:14 GMT WWW-Authenticate: BASIC realm="application" Content-Length: 0
$ curl -H "Origin: http://example.com"
-H "Access-Control-Request-Method: POST"
-H "Access-Control-Request-Headers: X-Requested-With"
-X OPTIONS --verbose http://localhost:8199/api/iceberg/reconciliations* STATE: INIT => CONNECT handle 0x6000578f0; line 1410 (connection #-5000) * Added connection 0. The cache now contains 1 members * STATE: CONNECT => WAITRESOLVE handle 0x6000578f0; line 1446 (connection #0) * Trying ::1... * TCP_NODELAY set * STATE: WAITRESOLVE => WAITCONNECT handle 0x6000578f0; line 1527 (connection #0) * Connected to localhost (::1) port 8199 (#0) * STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x6000578f0; line 1579 (connection #0) * Marked for [keep alive]: HTTP default * STATE: SENDPROTOCONNECT => DO handle 0x6000578f0; line 1597 (connection #0) > OPTIONS /api/iceberg/reconciliations HTTP/1.1 > Host: localhost:8199 > User-Agent: curl/7.54.1 > Accept: */* > Origin: http://example.com > Access-Control-Request-Method: POST > Access-Control-Request-Headers: X-Requested-With > * STATE: DO => DO_DONE handle 0x6000578f0; line 1676 (connection #0) * STATE: DO_DONE => WAITPERFORM handle 0x6000578f0; line 1801 (connection #0) * STATE: WAITPERFORM => PERFORM handle 0x6000578f0; line 1811 (connection #0) * HTTP 1.1 or later with persistent connection, pipelining supported< HTTP/1.1 401 Unauthorized< Date: Thu, 06 Jul 2017 10:53:52 GMT < WWW-Authenticate: BASIC realm="application" < Content-Length: 0
--
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
corsFilter.setInitParameter("Access-Control-Allow-Credentials", "true");
corsFilter.setInitParameter("Access-Control-Allow-Origin", "*");
corsFilter.setInitParameter("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Headers, Access-Control-Request-Method, Cache-Control, Pragma, Expires");
corsFilter.setInitParameter("Access-Control-Allow-Methods\" ", "OPTIONS,GET,PUT,POST,DELETE,HEAD");
corsFilter.setInitParameter("Access-Control-Allow-Credentials", "true");
corsFilter.setInitParameter("Access-Control-Allow-Origin", "http://localhost:4200");
corsFilter.setInitParameter("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Headers, Access-Control-Request-Method, Cache-Control, Pragma, Expires");
corsFilter.setInitParameter("Access-Control-Allow-Methods\" ", "OPTIONS,GET,PUT,POST,DELETE,HEAD");
// CORS configuration
final FilterRegistration.Dynamic corsFilter = environment.servlets().addFilter("CORS", CrossOriginFilter.class);
corsFilter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*");
corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM,
"Content-Type,Authorization,X-Requested-With,Content-Length,Accept,Origin");
corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,PUT,POST,DELETE,OPTIONS");
corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, configuration.corsOrigins);
corsFilter.setInitParameter(CrossOriginFilter.ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, "*");