Rename CrossOriginConfigurer/Registration to CorsConfigurer/Registration

Issue: SPR-12933
This commit is contained in:
Sebastien Deleuze 2015-05-18 10:53:15 +02:00
parent a76bbae51d
commit decb55ce14
9 changed files with 38 additions and 38 deletions

View File

@ -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());
}

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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) {
}

View File

@ -186,6 +186,6 @@ public interface WebMvcConfigurer {
* Configure cross-origin requests handling.
* @since 4.2
*/
void configureCrossOrigin(CrossOriginConfigurer configurer);
void configureCors(CorsConfigurer configurer);
}

View File

@ -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) {
}
}

View File

@ -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);
}
}

View File

@ -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();

View File

@ -404,8 +404,8 @@ public class WebMvcConfigurationSupportExtensionTests {
}
@Override
public void configureCrossOrigin(CrossOriginConfigurer registry) {
registry.enableCrossOrigin("/resources/**");
public void configureCors(CorsConfigurer registry) {
registry.enableCors("/resources/**");
}
}