Coverage Summary for Class: RskErrorResolver (org.ethereum.rpc.exception)

Class Class, % Method, % Line, %
RskErrorResolver 0% (0/1) 0% (0/3) 0% (0/10)


1 package org.ethereum.rpc.exception; 2  3 import com.fasterxml.jackson.databind.JsonNode; 4 import com.fasterxml.jackson.databind.exc.InvalidFormatException; 5 import com.googlecode.jsonrpc4j.ErrorResolver; 6 import org.slf4j.Logger; 7 import org.slf4j.LoggerFactory; 8  9 import java.lang.reflect.Method; 10 import java.util.List; 11  12 /** 13  * Created by mario on 17/10/2016. 14  */ 15 public class RskErrorResolver implements ErrorResolver { 16  17  private static final Logger logger = LoggerFactory.getLogger("web3"); 18  19  @Override 20  public JsonError resolveError(Throwable t, Method method, List<JsonNode> arguments) { 21  JsonError error = null; 22  if(t instanceof RskJsonRpcRequestException) { 23  error = new JsonError(((RskJsonRpcRequestException) t).getCode(), t.getMessage(), null); 24  } else if (t instanceof InvalidFormatException) { 25  error = new JsonError(-32603, "Internal server error, probably due to invalid parameter type", null); 26  } else { 27  logger.error("JsonRPC error when for method {} with arguments {}", method, arguments, t); 28  error = new JsonError(-32603, "Internal server error", null); 29  } 30  return error; 31  } 32 }