Я хочу, чтобы клиентский процесс javascript получал код состояния HTTP, который сервер возвращает, когда клиент делает запрос на обновление веб-сокета, и этот запрос не выполняется.
Мой сервер возвращает HTTP 400, чтобы указать, что обновление веб-сокета не выполнено.
Я использую Google Chrome, и когда я открываю консоль разработчика, я вижу следующее сообщение:
Соединение WebSocket с 'wss: //' не удалось: ошибка во время рукопожатия WebSocket: неожиданный код ответа: 400
Однако обработчик ошибки onerror не содержит этого сообщения, он получает ошибку 1006, но не указывает, что закрытие произошло в результате получения HTTP 400.
Как разработчик javascript обрабатывает ошибки рукопожатия? Я хотел бы предоставить клиенту информативное сообщение, когда он получит ошибку рукопожатия.
Я поместил ошибку веб-сокета ниже, она, похоже, не содержит ничего, что я мог бы использовать, чтобы указать, что эта ошибка является результатом ошибки рукопожатия веб-сокета.
Websocket Error: {"path":{"length":0},"cancelBubble":false,"returnValue":true,"srcElement":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"defaultPrevented":false,"timeStamp":1417828938039,"cancelable":false,"bubbles":false,"eventPhase":2,"currentTarget":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"target":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"type":"error"}