@Override public void onWebSocketBinary(byte[] payload, int offset, int length) { try { WebSocketMessage webSocketMessage = messageFactory.parseMessage(payload, offset, length); switch (webSocketMessage.getType()) { case REQUEST_MESSAGE: handleRequest(webSocketMessage.getRequestMessage()); break; case RESPONSE_MESSAGE: handleResponse(webSocketMessage.getResponseMessage()); break; default: close(session, 1018, "Badly formatted"); break; } } catch (InvalidMessageException e) { logger.debug("Parsing", e); close(session, 1018, "Badly formatted"); } }