diff --git a/legend-depot-server/src/main/java/org/finos/legend/depot/server/LegendDepotServer.java b/legend-depot-server/src/main/java/org/finos/legend/depot/server/LegendDepotServer.java index d84096632..328da91da 100644 --- a/legend-depot-server/src/main/java/org/finos/legend/depot/server/LegendDepotServer.java +++ b/legend-depot-server/src/main/java/org/finos/legend/depot/server/LegendDepotServer.java @@ -98,4 +98,16 @@ public void registerJacksonJsonProvider(JerseyEnvironment jerseyEnvironment) { jerseyEnvironment.register(new LegendDepotServerJacksonJsonProvider()); } + + @Override + protected void initialiseCors(Environment environment) + { + FilterRegistration.Dynamic corsFilter = environment.servlets().addFilter("CORS", CrossOriginFilter.class); + corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "GET,PUT,POST,DELETE,OPTIONS"); + corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*"); + corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_TIMING_ORIGINS_PARAM, "*"); + corsFilter.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "X-Requested-With,Content-Type,Accept,Origin,Access-Control-Allow-Credentials,x-b3-parentspanid,x-b3-sampled,x-b3-spanid,x-b3-traceid"); + corsFilter.setInitParameter(CrossOriginFilter.CHAIN_PREFLIGHT_PARAM, "false"); + corsFilter.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "*"); + } }