webSocketHandler.onTextMessage(webSocket, String.class.cast(webSocketMessageAsBody)); } else if (Reader.class.isAssignableFrom(webSocketMessageAsBody.getClass())) { WebSocketStreamingHandler.class.cast(webSocketHandler.proxied).onTextStream(webSocket, Reader.class.cast(webSocketMessageAsBody)); } else if (InputStream.class.isAssignableFrom(webSocketMessageAsBody.getClass())) { WebSocketStreamingHandler.class.cast(webSocketHandler.proxied()).onBinaryStream(webSocket, InputStream.class.cast(webSocketMessageAsBody));
@Override public void invokeWebSocketProtocol(WebSocket webSocket, Reader reader) { WebSocketHandlerProxy webSocketHandler = webSocketHandlerForMessage(webSocket); try { if (webSocketHandler == null) { if (WebSocketProtocolStream.class.isAssignableFrom(webSocketProtocol.getClass())) { List<AtmosphereRequest> list = WebSocketProtocolStream.class.cast(webSocketProtocol).onTextStream(webSocket, reader); dispatch(webSocket, list); } else { dispatchReader(webSocket, reader); return; } } else { if (WebSocketStreamingHandler.class.isAssignableFrom(webSocketHandler.proxied().getClass())) { if (invokeInterceptors) { invokeInterceptors(webSocketHandler, webSocket, reader); } else { WebSocketStreamingHandler.class.cast(webSocketHandler.proxied()).onTextStream(webSocket, reader); } } else { dispatchReader(webSocket, reader); return; } } } catch (Exception ex) { handleException(ex, webSocket, webSocketHandler); } notifyListener(webSocket, new WebSocketEventListener.WebSocketEvent<Reader>(reader, MESSAGE, webSocket)); }