diff --git a/nflow-jetty/src/main/resources/nflow-jetty.properties b/nflow-jetty/src/main/resources/nflow-jetty.properties index 08b2e4ad9..4ca40db9f 100644 --- a/nflow-jetty/src/main/resources/nflow-jetty.properties +++ b/nflow-jetty/src/main/resources/nflow-jetty.properties @@ -2,7 +2,3 @@ host=0.0.0.0 port=7500 terminate.timeout=30 extra.resource.directories= - -nflow.rest.allow.origin=* -nflow.rest.allow.headers=X-Requested-With, Content-Type, Origin, Referer, User-Agent, Accept -nflow.rest.cors.enabled=true diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilter.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilter.java index 09892ca4d..23cdd47e0 100644 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilter.java +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilter.java @@ -1,7 +1,5 @@ package com.nitorcreations.nflow.rest.config; -import static java.lang.Boolean.TRUE; - import javax.inject.Inject; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; @@ -20,15 +18,15 @@ @NflowCors public class CorsHeaderContainerResponseFilter implements ContainerResponseFilter { + private final boolean enabled; private final String origin; private final String headers; - private final boolean enabled; @Inject public CorsHeaderContainerResponseFilter(final Environment env) { + enabled = env.getRequiredProperty("nflow.rest.cors.enabled", Boolean.class); origin = env.getRequiredProperty("nflow.rest.allow.origin"); headers = env.getRequiredProperty("nflow.rest.allow.headers"); - enabled = env.getProperty("nflow.rest.cors.enabled", Boolean.class, TRUE); } @Override diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NflowRestApiPropertiesConfiguration.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NflowRestApiPropertiesConfiguration.java new file mode 100644 index 000000000..219114390 --- /dev/null +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/NflowRestApiPropertiesConfiguration.java @@ -0,0 +1,10 @@ +package com.nitorcreations.nflow.rest.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +@Configuration +@PropertySource("classpath:nflow-rest-api.properties") +public class NflowRestApiPropertiesConfiguration { + +} diff --git a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java index 33f7f6433..c9c4d5284 100644 --- a/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java +++ b/nflow-rest-api/src/main/java/com/nitorcreations/nflow/rest/config/RestConfiguration.java @@ -14,7 +14,7 @@ import com.nitorcreations.nflow.engine.internal.config.NFlow; @Configuration -@Import(EngineConfiguration.class) +@Import({ EngineConfiguration.class, NflowRestApiPropertiesConfiguration.class }) @ComponentScan("com.nitorcreations.nflow.rest") public class RestConfiguration { diff --git a/nflow-rest-api/src/main/resources/nflow-rest-api.properties b/nflow-rest-api/src/main/resources/nflow-rest-api.properties new file mode 100644 index 000000000..36886c715 --- /dev/null +++ b/nflow-rest-api/src/main/resources/nflow-rest-api.properties @@ -0,0 +1,3 @@ +nflow.rest.cors.enabled=true +nflow.rest.allow.origin=* +nflow.rest.allow.headers=X-Requested-With, Content-Type, Origin, Referer, User-Agent, Accept diff --git a/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilterTest.java b/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilterTest.java index ce723e284..62adf09e1 100644 --- a/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilterTest.java +++ b/nflow-rest-api/src/test/java/com/nitorcreations/nflow/rest/config/CorsHeaderContainerResponseFilterTest.java @@ -37,7 +37,7 @@ public class CorsHeaderContainerResponseFilterTest { public void setup() { when(env.getRequiredProperty("nflow.rest.allow.origin")).thenReturn(HOST); when(env.getRequiredProperty("nflow.rest.allow.headers")).thenReturn(HEADERS); - when(env.getProperty("nflow.rest.cors.enabled", Boolean.class, TRUE)).thenReturn(TRUE); + when(env.getRequiredProperty("nflow.rest.cors.enabled", Boolean.class)).thenReturn(TRUE); filter = new CorsHeaderContainerResponseFilter(env); when(responseContext.getHeaders()).thenReturn(headerMap); } @@ -55,7 +55,7 @@ public void addsHeaders() { @Test public void doesNotAddHeadersWhenDisabled() { - when(env.getProperty("nflow.rest.cors.enabled", Boolean.class, TRUE)).thenReturn(FALSE); + when(env.getRequiredProperty("nflow.rest.cors.enabled", Boolean.class)).thenReturn(FALSE); filter = new CorsHeaderContainerResponseFilter(env); filter.filter(requestContext, responseContext);