@Override
public void onError(WebSocket webSocket, WebSocketProcessor.WebSocketException t) {
if (t.response() != null) {
Request swaggerSocketRequest =
Request.class.cast(t.response().request().getAttribute(String.valueOf(t.response().request().hashCode())));
if (swaggerSocketRequest == null) {
logger.debug("Handshake mapping (could be expected) {} : {}", t.response().getStatus(), t.response().getStatusMessage());
return;
}
logger.debug("Unexpected status code {} : {}", t.response().getStatus(), t.response().getStatusMessage());
StatusMessage statusMessage = new StatusMessage.Builder()
.status(new StatusMessage.Status(t.response().getStatus(),
t.response().getStatusMessage()))
.identity(swaggerSocketRequest.getUuid()).build();
try {
byte[] b = mapper.writeValueAsBytes(statusMessage);
webSocket.write(t.response(), b, 0, b.length);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}