Spring Boot WebSocket Handshake - Как отправить конкретный код ответа (404) клиенту - PullRequest
0 голосов
/ 08 ноября 2019

Я установил соединение 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
        }
...