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 }