Rename CrossOriginConfigurer/Registration to CorsConfigurer/Registration
Issue: SPR-12933
This commit is contained in:
parent
a76bbae51d
commit
decb55ce14
|
@ -28,11 +28,11 @@ import org.springframework.web.cors.CorsConfiguration;
|
|||
* @author Sebastien Deleuze
|
||||
*
|
||||
* @since 4.2
|
||||
* @see CrossOriginRegistration
|
||||
* @see CorsRegistration
|
||||
*/
|
||||
public class CrossOriginConfigurer {
|
||||
public class CorsConfigurer {
|
||||
|
||||
private final List<CrossOriginRegistration> registrations = new ArrayList<CrossOriginRegistration>();
|
||||
private final List<CorsRegistration> registrations = new ArrayList<CorsRegistration>();
|
||||
|
||||
/**
|
||||
* Enable cross origin requests on the specified path patterns. If no path pattern is specified,
|
||||
|
@ -40,15 +40,15 @@ public class CrossOriginConfigurer {
|
|||
*
|
||||
* <p>By default, all origins, all headers and credentials are allowed. Max age is set to 30 minutes.</p>
|
||||
*/
|
||||
public CrossOriginRegistration enableCrossOrigin(String... pathPatterns) {
|
||||
CrossOriginRegistration registration = new CrossOriginRegistration(pathPatterns);
|
||||
public CorsRegistration enableCors(String... pathPatterns) {
|
||||
CorsRegistration registration = new CorsRegistration(pathPatterns);
|
||||
this.registrations.add(registration);
|
||||
return registration;
|
||||
}
|
||||
|
||||
protected Map<String, CorsConfiguration> getCorsConfigurations() {
|
||||
Map<String, CorsConfiguration> configs = new HashMap<String, CorsConfiguration>();
|
||||
for (CrossOriginRegistration registration : this.registrations) {
|
||||
for (CorsRegistration registration : this.registrations) {
|
||||
for (String pathPattern : registration.getPathPatterns()) {
|
||||
configs.put(pathPattern, registration.getCorsConfiguration());
|
||||
}
|
|
@ -32,13 +32,13 @@ import org.springframework.web.cors.CorsConfiguration;
|
|||
* @author Sebastien Deleuze
|
||||
* @since 4.2
|
||||
*/
|
||||
public class CrossOriginRegistration {
|
||||
public class CorsRegistration {
|
||||
|
||||
private final String[] pathPatterns;
|
||||
|
||||
private final CorsConfiguration config;
|
||||
|
||||
public CrossOriginRegistration(String... pathPatterns) {
|
||||
public CorsRegistration(String... pathPatterns) {
|
||||
this.pathPatterns = (pathPatterns.length == 0 ? new String[]{ "/**" } : pathPatterns);
|
||||
// Same default values than @CrossOrigin annotation + allows simple methods
|
||||
this.config = new CorsConfiguration();
|
||||
|
@ -51,32 +51,32 @@ public class CrossOriginRegistration {
|
|||
this.config.setMaxAge(1800L);
|
||||
}
|
||||
|
||||
public CrossOriginRegistration allowedOrigins(String... origins) {
|
||||
public CorsRegistration allowedOrigins(String... origins) {
|
||||
this.config.setAllowedOrigins(new ArrayList<String>(Arrays.asList(origins)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrossOriginRegistration allowedMethods(String... methods) {
|
||||
public CorsRegistration allowedMethods(String... methods) {
|
||||
this.config.setAllowedMethods(new ArrayList<String>(Arrays.asList(methods)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrossOriginRegistration allowedHeaders(String... headers) {
|
||||
public CorsRegistration allowedHeaders(String... headers) {
|
||||
this.config.setAllowedHeaders(new ArrayList<String>(Arrays.asList(headers)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrossOriginRegistration exposedHeaders(String... headers) {
|
||||
public CorsRegistration exposedHeaders(String... headers) {
|
||||
this.config.setExposedHeaders(new ArrayList<String>(Arrays.asList(headers)));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrossOriginRegistration maxAge(long maxAge) {
|
||||
public CorsRegistration maxAge(long maxAge) {
|
||||
this.config.setMaxAge(maxAge);
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrossOriginRegistration allowCredentials(boolean allowCredentials) {
|
||||
public CorsRegistration allowCredentials(boolean allowCredentials) {
|
||||
this.config.setAllowCredentials(allowCredentials);
|
||||
return this;
|
||||
}
|
|
@ -133,8 +133,8 @@ public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void configureCrossOrigin(CrossOriginConfigurer configurer) {
|
||||
this.configurers.configureCrossOrigin(configurer);
|
||||
protected void configureCors(CorsConfigurer configurer) {
|
||||
this.configurers.configureCors(configurer);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -875,8 +875,8 @@ public class WebMvcConfigurationSupport implements ApplicationContextAware, Serv
|
|||
*/
|
||||
protected final Map<String, CorsConfiguration> getCorsConfigurations() {
|
||||
if (this.corsConfigurations == null) {
|
||||
CrossOriginConfigurer registry = new CrossOriginConfigurer();
|
||||
configureCrossOrigin(registry);
|
||||
CorsConfigurer registry = new CorsConfigurer();
|
||||
configureCors(registry);
|
||||
this.corsConfigurations = registry.getCorsConfigurations();
|
||||
}
|
||||
return this.corsConfigurations;
|
||||
|
@ -885,9 +885,9 @@ public class WebMvcConfigurationSupport implements ApplicationContextAware, Serv
|
|||
/**
|
||||
* Override this method to configure cross-origin requests handling.
|
||||
* @since 4.2
|
||||
* @see CrossOriginConfigurer
|
||||
* @see CorsConfigurer
|
||||
*/
|
||||
protected void configureCrossOrigin(CrossOriginConfigurer configurer) {
|
||||
protected void configureCors(CorsConfigurer configurer) {
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -186,6 +186,6 @@ public interface WebMvcConfigurer {
|
|||
* Configure cross-origin requests handling.
|
||||
* @since 4.2
|
||||
*/
|
||||
void configureCrossOrigin(CrossOriginConfigurer configurer);
|
||||
void configureCors(CorsConfigurer configurer);
|
||||
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {
|
|||
* <p>This implementation is empty.
|
||||
*/
|
||||
@Override
|
||||
public void configureCrossOrigin(CrossOriginConfigurer configurer) {
|
||||
public void configureCors(CorsConfigurer configurer) {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -154,9 +154,9 @@ class WebMvcConfigurerComposite implements WebMvcConfigurer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void configureCrossOrigin(CrossOriginConfigurer configurer) {
|
||||
public void configureCors(CorsConfigurer configurer) {
|
||||
for (WebMvcConfigurer delegate : this.delegates) {
|
||||
delegate.configureCrossOrigin(configurer);
|
||||
delegate.configureCors(configurer);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -27,34 +27,34 @@ import org.junit.Test;
|
|||
import org.springframework.web.cors.CorsConfiguration;
|
||||
|
||||
/**
|
||||
* Test fixture with a {@link CrossOriginConfigurer}.
|
||||
* Test fixture with a {@link CorsConfigurer}.
|
||||
*
|
||||
* @author Sebastien Deleuze
|
||||
*/
|
||||
public class CrossOriginConfigurerTests {
|
||||
public class CorsConfigurerTests {
|
||||
|
||||
private CrossOriginConfigurer configurer;
|
||||
private CorsConfigurer configurer;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
this.configurer = new CrossOriginConfigurer();
|
||||
this.configurer = new CorsConfigurer();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void noCrossOriginConfigured() {
|
||||
public void noCorsConfigured() {
|
||||
assertTrue(this.configurer.getCorsConfigurations().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void multipleCrossOriginConfigured() {
|
||||
this.configurer.enableCrossOrigin("/foo");
|
||||
this.configurer.enableCrossOrigin("/bar");
|
||||
public void multipleCorsConfigured() {
|
||||
this.configurer.enableCors("/foo");
|
||||
this.configurer.enableCors("/bar");
|
||||
assertEquals(2, this.configurer.getCorsConfigurations().size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultCrossOriginRegistration() {
|
||||
this.configurer.enableCrossOrigin();
|
||||
public void defaultCorsRegistration() {
|
||||
this.configurer.enableCors();
|
||||
Map<String, CorsConfiguration> configs = this.configurer.getCorsConfigurations();
|
||||
assertEquals(1, configs.size());
|
||||
CorsConfiguration config = configs.get("/**");
|
||||
|
@ -66,8 +66,8 @@ public class CrossOriginConfigurerTests {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void customizedCrossOriginRegistration() {
|
||||
this.configurer.enableCrossOrigin("/foo").allowedOrigins("http://domain2.com", "http://domain2.com")
|
||||
public void customizedCorsRegistration() {
|
||||
this.configurer.enableCors("/foo").allowedOrigins("http://domain2.com", "http://domain2.com")
|
||||
.allowedMethods("DELETE").allowCredentials(false).allowedHeaders("header1", "header2")
|
||||
.exposedHeaders("header3", "header4").maxAge(3600);
|
||||
Map<String, CorsConfiguration> configs = this.configurer.getCorsConfigurations();
|
|
@ -404,8 +404,8 @@ public class WebMvcConfigurationSupportExtensionTests {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void configureCrossOrigin(CrossOriginConfigurer registry) {
|
||||
registry.enableCrossOrigin("/resources/**");
|
||||
public void configureCors(CorsConfigurer registry) {
|
||||
registry.enableCors("/resources/**");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue