mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-15 01:07:30 +08:00
Merge branch '3.1.x'
Closes gh-38286
This commit is contained in:
commit
9247104830
@ -34,7 +34,8 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnNotWarDeplo
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
|
||||
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration;
|
||||
import org.springframework.boot.web.servlet.ServletContextInitializer;
|
||||
import org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory;
|
||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.Ordered;
|
||||
@ -91,13 +92,15 @@ public class WebSocketServletAutoConfiguration {
|
||||
@Bean
|
||||
@ConditionalOnNotWarDeployment
|
||||
@Order(Ordered.LOWEST_PRECEDENCE)
|
||||
@ConditionalOnMissingBean(name = "websocketUpgradeFilterServletContextInitializer")
|
||||
ServletContextInitializer websocketUpgradeFilterServletContextInitializer() {
|
||||
return (servletContext) -> {
|
||||
Dynamic registration = servletContext.addFilter(WebSocketUpgradeFilter.class.getName(),
|
||||
new WebSocketUpgradeFilter());
|
||||
registration.setAsyncSupported(true);
|
||||
registration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/*");
|
||||
@ConditionalOnMissingBean(name = "websocketUpgradeFilterWebServerCustomizer")
|
||||
WebServerFactoryCustomizer<JettyServletWebServerFactory> websocketUpgradeFilterWebServerCustomizer() {
|
||||
return (factory) -> {
|
||||
factory.addInitializers((servletContext) -> {
|
||||
Dynamic registration = servletContext.addFilter(WebSocketUpgradeFilter.class.getName(),
|
||||
new WebSocketUpgradeFilter());
|
||||
registration.setAsyncSupported(true);
|
||||
registration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), false, "/*");
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ class WebSocketServletAutoConfigurationTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
void jettyWebSocketUpgradeFilterIsAddedToServletContext() {
|
||||
void jettyWebSocketUpgradeFilterIsAddedToServletContextOfJettyServer() {
|
||||
try (AnnotationConfigServletWebServerApplicationContext context = new AnnotationConfigServletWebServerApplicationContext(
|
||||
JettyConfiguration.class, WebSocketServletAutoConfiguration.JettyWebSocketConfiguration.class)) {
|
||||
assertThat(context.getServletContext().getFilterRegistration(WebSocketUpgradeFilter.class.getName()))
|
||||
@ -114,6 +114,15 @@ class WebSocketServletAutoConfigurationTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void jettyWebSocketUpgradeFilterIsNotAddedToServletContextOfTomcatServer() {
|
||||
try (AnnotationConfigServletWebServerApplicationContext context = new AnnotationConfigServletWebServerApplicationContext(
|
||||
TomcatConfiguration.class, WebSocketServletAutoConfiguration.JettyWebSocketConfiguration.class)) {
|
||||
assertThat(context.getServletContext().getFilterRegistration(WebSocketUpgradeFilter.class.getName()))
|
||||
.isNull();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@SuppressWarnings("rawtypes")
|
||||
void jettyWebSocketUpgradeFilterIsNotExposedAsABean() {
|
||||
|
Loading…
Reference in New Issue
Block a user