Я установил соединение Spring Boot WebSocket между клиентом (используя StandardWebSocketClient) и сервером. HttpSessionHandshakeInterceptor предоставляет мне возможность проверить заголовок запроса для определенного атрибута, и в случае, если он недоступен, я хотел бы отправить код состояния 404 клиенту и оставить функцию beforeHandshake со значением false, которое прерывает обновление до подключения к веб-сокету. Кажется, я не могу отправить ответ клиенту здесь?
override fun beforeHandshake(request: ServerHttpRequest, response: ServerHttpResponse, wsHandler: WebSocketHandler, attributes: MutableMap<String, Any>): Boolean {
val validCSIdentifier = protocolService.isValidCSIdentifier(request.path)
if (validCSIdentifier) {
return true
} else {
response.setStatusCode(HttpStatus.NOT_FOUND)
response.flush()
return false
}