@Override protected void handleMessage(JsonNode message) { super.handleMessage(message); }
@Override protected void handleMessage(JsonNode message) { super.handleMessage(message); }
@Override protected void handleMessage(JsonNode message) { super.handleMessage(message); }
@Override protected void handleMessage(JsonNode message) { if (message.has("info") || message.has("success")) { return; } if (message.has("error")) { String error = message.get("error").asText(); LOG.error("Error with message: " + error); return; } super.handleMessage(message); }
@Override public void messageHandler(String message) { LOG.debug("Received message: {}", message); JsonNode jsonNode; // Parse incoming message to JSON try { jsonNode = objectMapper.readTree(message); } catch (IOException e) { LOG.error("Error parsing incoming message to JSON: {}", message); return; } // In case of array - handle every message separately. if (jsonNode.getNodeType().equals(JsonNodeType.ARRAY)) { for (JsonNode node : jsonNode) { handleMessage(node); } } else { handleMessage(jsonNode); } }
@Override protected void handleMessage(JsonNode message) { if (message.isArray()) { Integer channelId = new Integer(message.get(0).toString()); if (channelId > 0 && channelId < 1000) { JsonNode events = message.get(2); if (events.isArray()) { JsonNode event = events.get(0); if (event.get(0).toString().equals("\"i\"")) { if (event.get(1).has("orderBook")) { String currencyPair = event.get(1).get("currencyPair").asText(); LOG.info("Register {} as {}", String.valueOf(channelId), currencyPair); subscribedChannels.put(String.valueOf(channelId), currencyPair); } } } } } if (message.has("error")) { LOG.error("Error with message: " + message.get("error").asText()); return; } super.handleMessage(message); }
@Override protected void handleMessage(JsonNode message) { if (message.get("event") != null && "pong".equals(message.get("event").asText()) ) { // ignore pong message return; } if (message.get("data") != null) { if (message.get("data").has("result")) { boolean success = message.get("data").get("result").asBoolean(); if (!success) { super.handleError(message, new ExchangeException("Error code: " + message.get("data").get("error_code").asText())); } return; } } super.handleMessage(message); }
@Override protected void handleMessage(JsonNode message) { if (message.has(JSON_ID)) { int requestId = message.get(JSON_ID).asInt(); if (requests.containsKey(requestId)) { String subscriptionMethod = requests.get(requestId).getLeft(); if (message.has(JSON_ERROR)) { try { HitbtcException exception = objectMapper.treeToValue(message, HitbtcException.class); super.handleError(message, exception); } catch (JsonProcessingException e) { super.handleError(message, e); } } else { boolean result = message.get(JSON_RESULT).asBoolean(); LOG.info("HitBTC returned {} as result of '{}' method", result, subscriptionMethod); } requests.remove(requestId); return; } else { LOG.error("Unknown request ID {}", requestId); } } String channel = getChannel(message); if (!channels.containsKey(channel)) { LOG.warn("The message has been received from disconnected channel '{}'. Skipped.", channel); return; } super.handleMessage(message); }
throw new RuntimeException("Failed to get channel name from message", e); super.handleMessage(message);