spring-boot/spring-boot-project/spring-boot-autoconfigure
Andy Wilkinson 6353603d63 Avoid exposing Jetty's WebSocketUpgradeFilter as a bean
When the filter is exposed as a bean (directly or through a
registration bean), it's picked up by the auto-configuration of
MockMvc. This causes a problem as MockMvc does not call init on a
filter before it's used and WebSocketUpgradeFilter fails with a
NullPointerException if its doFilter method is called when its init
method has not been called.

This commit reworks the WebSocket auto-configuration to use a
ServletContextInitalizer to register WebSocketUpgradeFilter rather
than a FilterRegistrationBean. This ensure that the filter is still
registered at the required position in the chain (last filter before
the servlet) while also preventing it from being registered with the
auto-configured MockMvc in tests.

Closes gh-37660
2023-10-03 16:13:24 +01:00
..
2023-09-29 14:58:52 +01:00