Update CORS handling according to Framework changes
This commit updates CORS handling according to Framework changes
introduced via [1]. It also fixes tests according to the new behavior.
See gh-16410
[1] d27b5d0ab6.
This commit is contained in:
committed by
Andy Wilkinson
parent
8ebe5f9983
commit
2f9db7eec6
@@ -63,8 +63,7 @@ public class WebFluxEndpointCorsIntegrationTests {
|
|||||||
createWebTestClient().options().uri("/actuator/beans")
|
createWebTestClient().options().uri("/actuator/beans")
|
||||||
.header("Origin", "spring.example.org")
|
.header("Origin", "spring.example.org")
|
||||||
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET").exchange()
|
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET").exchange()
|
||||||
.expectStatus().isForbidden().expectHeader()
|
.expectHeader().doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN);
|
||||||
.doesNotExist(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ public class WebMvcEndpointCorsIntegrationTests {
|
|||||||
.of("management.endpoints.web.cors.allowed-origins:foo.example.com")
|
.of("management.endpoints.web.cors.allowed-origins:foo.example.com")
|
||||||
.applyTo(this.context);
|
.applyTo(this.context);
|
||||||
createMockMvc()
|
createMockMvc()
|
||||||
.perform(options("/actuator/health")
|
.perform(options("/actuator/beans")
|
||||||
.header(HttpHeaders.ORIGIN, "foo.example.com")
|
.header(HttpHeaders.ORIGIN, "foo.example.com")
|
||||||
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "PATCH"))
|
.header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "PATCH"))
|
||||||
.andExpect(status().isForbidden());
|
.andExpect(status().isForbidden());
|
||||||
|
|||||||
@@ -190,6 +190,11 @@ public abstract class AbstractWebFluxEndpointHandlerMapping
|
|||||||
.findMethod(linksHandler.getClass(), "links", ServerWebExchange.class));
|
.findMethod(linksHandler.getClass(), "links", ServerWebExchange.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean hasCorsConfigurationSource(Object handler) {
|
||||||
|
return this.corsConfiguration != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
||||||
RequestMappingInfo mapping) {
|
RequestMappingInfo mapping) {
|
||||||
|
|||||||
@@ -117,6 +117,11 @@ public class ControllerEndpointHandlerMapping extends RequestMappingHandlerMappi
|
|||||||
mapping.getCustomCondition());
|
mapping.getCustomCondition());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean hasCorsConfigurationSource(Object handler) {
|
||||||
|
return this.corsConfiguration != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
||||||
RequestMappingInfo mapping) {
|
RequestMappingInfo mapping) {
|
||||||
|
|||||||
@@ -217,6 +217,11 @@ public abstract class AbstractWebMvcEndpointHandlerMapping
|
|||||||
builderConfig.useTrailingSlashMatch());
|
builderConfig.useTrailingSlashMatch());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean hasCorsConfigurationSource(Object handler) {
|
||||||
|
return this.corsConfiguration != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
||||||
RequestMappingInfo mapping) {
|
RequestMappingInfo mapping) {
|
||||||
|
|||||||
@@ -118,6 +118,11 @@ public class ControllerEndpointHandlerMapping extends RequestMappingHandlerMappi
|
|||||||
mapping.getCustomCondition());
|
mapping.getCustomCondition());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean hasCorsConfigurationSource(Object handler) {
|
||||||
|
return this.corsConfiguration != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
protected CorsConfiguration initCorsConfiguration(Object handler, Method method,
|
||||||
RequestMappingInfo mapping) {
|
RequestMappingInfo mapping) {
|
||||||
|
|||||||
Reference in New Issue
Block a user