diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHandlerMapping.java b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHandlerMapping.java index 5e4524c986e6..dbd51bbfda95 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHandlerMapping.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHandlerMapping.java @@ -22,6 +22,7 @@ import org.springframework.context.Lifecycle; import org.springframework.context.SmartLifecycle; import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; import org.springframework.lang.Nullable; import org.springframework.web.context.ServletContextAware; import org.springframework.web.servlet.HandlerExecutionChain; @@ -127,7 +128,7 @@ private boolean matchWebSocketUpgrade(@Nullable Object handler, HttpServletReque handler = (handler instanceof HandlerExecutionChain chain ? chain.getHandler() : handler); if (this.webSocketUpgradeMatch && handler instanceof WebSocketHttpRequestHandler) { String header = request.getHeader(HttpHeaders.UPGRADE); - return (request.getMethod().equals("GET") && + return (HttpMethod.GET.matches(request.getMethod()) && header != null && header.equalsIgnoreCase("websocket")); } return true;