diff --git a/eth-rpc/client/clientdispatch.nim b/eth-rpc/client/client.nim similarity index 97% rename from eth-rpc/client/clientdispatch.nim rename to eth-rpc/client/client.nim index 06020dd..f6d24a7 100644 --- a/eth-rpc/client/clientdispatch.nim +++ b/eth-rpc/client/client.nim @@ -149,14 +149,15 @@ proc createRpcFromSig*(rpcDecl: NimNode): NimNode = let rpcResult = genSym(nskLet, "res") # temporary variable to hold `Response` from rpc call + clientIdent = newIdentNode("client") procRes = ident"result" # proc return variable jsonRpcResult = # actual return value, `rpcResult`.result nnkDotExpr.newTree(rpcResult, newIdentNode("result")) # perform rpc call callBody.add(quote do: - let `rpcResult` = await client.call(`pathStr`, `jsonParamIdent`) # `rpcResult` is of type `Response` - if `rpcResult`.error: raise newException(ValueError, $`rpcResult`.result) # TODO: is raise suitable here? + let `rpcResult` = await `clientIdent`.call(`pathStr`, `jsonParamIdent`) # `rpcResult` is of type `Response` + if `rpcResult`.error: raise newException(ValueError, $`rpcResult`.result) ) if customReturnType: diff --git a/eth-rpc/server/serverdispatch.nim b/eth-rpc/server/server.nim similarity index 88% rename from eth-rpc/server/serverdispatch.nim rename to eth-rpc/server/server.nim index 392cfea..75d16c7 100644 --- a/eth-rpc/server/serverdispatch.nim +++ b/eth-rpc/server/server.nim @@ -39,8 +39,11 @@ proc processClient(server: RpcServer, client: AsyncSocket) {.async.} = if future.readError of RpcProcError: let err = future.readError.RpcProcError await client.sendError(err.code, err.msg, err.data) + elif future.readError of ValueError: + let err = future.readError[].ValueError + await client.sendError(INVALID_PARAMS, err.msg, %"") else: - await client.sendError(SERVER_ERROR, "Error", %getCurrentExceptionMsg()) + await client.sendError(SERVER_ERROR, "Error: Unknown error occurred", %"") proc serve*(server: RpcServer) {.async.} = server.socket.bindAddr(server.port, server.address) diff --git a/rpcclient.nim b/rpcclient.nim index 4c36611..e25c15e 100644 --- a/rpcclient.nim +++ b/rpcclient.nim @@ -1,3 +1,3 @@ -import eth-rpc / client / clientdispatch -export clientdispatch +import eth-rpc / client / client +export client diff --git a/rpcserver.nim b/rpcserver.nim index 1472f75..18c499e 100644 --- a/rpcserver.nim +++ b/rpcserver.nim @@ -1,2 +1,2 @@ -import r"eth-rpc/server" / [servertypes, rpcconsts, serverdispatch] -export servertypes, rpcconsts, serverdispatch +import r"eth-rpc/server" / [servertypes, rpcconsts, server] +export servertypes, rpcconsts, server