Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit 8d2a2f8

Browse files
committed
Allow cors origins to be configured fix #376
1 parent 25fac67 commit 8d2a2f8

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ graphql:
188188
mapping: /graphql
189189
enabled: true
190190
corsEnabled: true
191+
cors:
192+
allowed-origins: http://some.domain.com
191193
# if you want to @ExceptionHandler annotation for custom GraphQLErrors
192194
exception-handlers-enabled: true
193195
contextSetting: PER_REQUEST_WITH_INSTRUMENTATION

graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/spring/web/boot/GraphQLWebAutoConfiguration.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
6666
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
6767
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
68+
import org.springframework.boot.context.properties.ConfigurationProperties;
6869
import org.springframework.boot.context.properties.EnableConfigurationProperties;
6970
import org.springframework.boot.web.servlet.ServletRegistrationBean;
7071
import org.springframework.context.annotation.Bean;
@@ -141,12 +142,19 @@ public GraphQLErrorStartupListener graphQLErrorStartupListener() {
141142
return new GraphQLErrorStartupListener(errorHandlerSupplier, graphQLServletProperties.isExceptionHandlersEnabled());
142143
}
143144

145+
@Bean
146+
@ConditionalOnClass(CorsFilter.class)
147+
@ConfigurationProperties("graphql.servlet.cors")
148+
public CorsConfiguration corsConfiguration() {
149+
return new CorsConfiguration();
150+
}
151+
144152
@Bean
145153
@ConditionalOnClass(CorsFilter.class)
146154
@ConditionalOnProperty(value = "graphql.servlet.corsEnabled", havingValue = "true", matchIfMissing = true)
147-
public CorsFilter corsConfigurer() {
155+
public CorsFilter corsConfigurer(CorsConfiguration corsConfiguration) {
148156
Map<String, CorsConfiguration> corsConfigurations = new LinkedHashMap<>(1);
149-
CorsConfiguration corsConfiguration = new CorsConfiguration().applyPermitDefaultValues();
157+
corsConfiguration.applyPermitDefaultValues();
150158
corsConfigurations.put(graphQLServletProperties.getCorsMapping(), corsConfiguration);
151159

152160
UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource();

0 commit comments

Comments
 (0)