aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/message.go
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-02-25 02:05:03 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-02-25 02:05:03 +0800
commit21becb0febdf11132a40ff69c6145d9babf8458d (patch)
treee53e3b84ed5860cd396d9be69db54f644b33dcf7 /rpc/message.go
parent5a43173e5599b0f2eceb057b636bc45c4d51919b (diff)
downloaddexon-21becb0febdf11132a40ff69c6145d9babf8458d.tar
dexon-21becb0febdf11132a40ff69c6145d9babf8458d.tar.gz
dexon-21becb0febdf11132a40ff69c6145d9babf8458d.tar.bz2
dexon-21becb0febdf11132a40ff69c6145d9babf8458d.tar.lz
dexon-21becb0febdf11132a40ff69c6145d9babf8458d.tar.xz
dexon-21becb0febdf11132a40ff69c6145d9babf8458d.tar.zst
dexon-21becb0febdf11132a40ff69c6145d9babf8458d.zip
Cleanup RPC packcage
Diffstat (limited to 'rpc/message.go')
-rw-r--r--rpc/message.go150
1 files changed, 70 insertions, 80 deletions
diff --git a/rpc/message.go b/rpc/message.go
index 825ede05b..18fbec931 100644
--- a/rpc/message.go
+++ b/rpc/message.go
@@ -25,12 +25,12 @@ import (
"github.com/ethereum/go-ethereum/xeth"
)
-const (
- ErrorArguments = "Error: Insufficient arguments"
- ErrorNotImplemented = "Error: Method not implemented"
- ErrorUnknown = "Error: Unknown error"
- ErrorParseRequest = "Error: Could not parse request"
- ErrorDecodeArgs = "Error: Could not decode arguments"
+var (
+ errArguments = errors.New("Error: Insufficient arguments")
+ errNotImplemented = errors.New("Error: Method not implemented")
+ errUnknown = errors.New("Error: Unknown error")
+ errParseRequest = errors.New("Error: Could not parse request")
+ errDecodeArgs = errors.New("Error: Could not decode arguments")
)
type RpcRequest struct {
@@ -58,76 +58,72 @@ type RpcErrorObject struct {
// Data interface{} `json:"data"`
}
-func NewErrorResponse(msg string) error {
- return errors.New(msg)
-}
-
-func NewErrorResponseWithError(msg string, err error) error {
- return fmt.Errorf("%s: %v", msg, err)
+func NewErrorWithMessage(err error, msg string) error {
+ return fmt.Errorf("%s: %s", err.Error(), msg)
}
func (req *RpcRequest) ToSha3Args() (*Sha3Args, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(Sha3Args)
r := bytes.NewReader(req.Params[0])
if err := json.NewDecoder(r).Decode(args); err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToGetBlockArgs() (*GetBlockArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(GetBlockArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToNewTxArgs() (*NewTxArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(NewTxArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToPushTxArgs() (*PushTxArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(PushTxArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToGetStateArgs() (*GetStateArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(GetStateArgs)
@@ -135,234 +131,228 @@ func (req *RpcRequest) ToGetStateArgs() (*GetStateArgs, error) {
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToStorageAtArgs() (*GetStorageArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(GetStorageArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToGetTxCountArgs() (*GetTxCountArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(GetTxCountArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToGetBalanceArgs() (*GetBalanceArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(GetBalanceArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToGetCodeAtArgs() (*GetCodeAtArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(GetCodeAtArgs)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToBoolArgs() (bool, error) {
if len(req.Params) < 1 {
- return false, NewErrorResponse(ErrorArguments)
+ return false, errArguments
}
var args bool
err := json.Unmarshal(req.Params[0], &args)
if err != nil {
- return false, NewErrorResponse(ErrorDecodeArgs)
+ return false, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
return args, nil
}
func (req *RpcRequest) ToCompileArgs() (string, error) {
if len(req.Params) < 1 {
- return "", NewErrorResponse(ErrorArguments)
+ return "", errArguments
}
var args string
err := json.Unmarshal(req.Params[0], &args)
if err != nil {
- return "", NewErrorResponse(ErrorDecodeArgs)
+ return "", errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
return args, nil
}
func (req *RpcRequest) ToFilterArgs() (*FilterOptions, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
args := new(FilterOptions)
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(args)
if err != nil {
- return nil, NewErrorResponse(ErrorDecodeArgs)
+ return nil, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
return args, nil
}
func (req *RpcRequest) ToFilterStringArgs() (string, error) {
if len(req.Params) < 1 {
- return "", NewErrorResponse(ErrorArguments)
+ return "", errArguments
}
var args string
err := json.Unmarshal(req.Params[0], &args)
if err != nil {
- return "", NewErrorResponse(ErrorDecodeArgs)
+ return "", errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
return args, nil
}
func (req *RpcRequest) ToUninstallFilterArgs() (int, error) {
if len(req.Params) < 1 {
- return 0, NewErrorResponse(ErrorArguments)
+ return 0, errArguments
}
var args int
err := json.Unmarshal(req.Params[0], &args)
if err != nil {
- return 0, NewErrorResponse(ErrorDecodeArgs)
+ return 0, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", args, args)
return args, nil
}
func (req *RpcRequest) ToFilterChangedArgs() (int, error) {
if len(req.Params) < 1 {
- return 0, NewErrorResponse(ErrorArguments)
+ return 0, errArguments
}
var id int
r := bytes.NewReader(req.Params[0])
err := json.NewDecoder(r).Decode(&id)
if err != nil {
- return 0, NewErrorResponse(ErrorDecodeArgs)
+ return 0, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", id, id)
return id, nil
}
func (req *RpcRequest) ToDbPutArgs() (*DbArgs, error) {
if len(req.Params) < 3 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
var args DbArgs
err := json.Unmarshal(req.Params[0], &args.Database)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
err = json.Unmarshal(req.Params[1], &args.Key)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
err = json.Unmarshal(req.Params[2], &args.Value)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return &args, nil
}
func (req *RpcRequest) ToDbGetArgs() (*DbArgs, error) {
if len(req.Params) < 2 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
var args DbArgs
err := json.Unmarshal(req.Params[0], &args.Database)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
err = json.Unmarshal(req.Params[1], &args.Key)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return &args, nil
}
func (req *RpcRequest) ToWhisperFilterArgs() (*xeth.Options, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
var args xeth.Options
err := json.Unmarshal(req.Params[0], &args)
if err != nil {
- return nil, NewErrorResponseWithError(ErrorDecodeArgs, err)
+ return nil, NewErrorWithMessage(errDecodeArgs, err.Error())
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return &args, nil
}
func (req *RpcRequest) ToIdArgs() (int, error) {
if len(req.Params) < 1 {
- return 0, NewErrorResponse(ErrorArguments)
+ return 0, errArguments
}
var id int
err := json.Unmarshal(req.Params[0], &id)
if err != nil {
- return 0, NewErrorResponse(ErrorDecodeArgs)
+ return 0, errDecodeArgs
}
- rpclogger.DebugDetailf("%T %v", id, id)
+
return id, nil
}
func (req *RpcRequest) ToWhisperPostArgs() (*WhisperMessageArgs, error) {
if len(req.Params) < 1 {
- return nil, NewErrorResponse(ErrorArguments)
+ return nil, errArguments
}
var args WhisperMessageArgs
@@ -370,13 +360,13 @@ func (req *RpcRequest) ToWhisperPostArgs() (*WhisperMessageArgs, error) {
if err != nil {
return nil, err
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return &args, nil
}
func (req *RpcRequest) ToWhisperHasIdentityArgs() (string, error) {
if len(req.Params) < 1 {
- return "", NewErrorResponse(ErrorArguments)
+ return "", errArguments
}
var args string
@@ -384,13 +374,13 @@ func (req *RpcRequest) ToWhisperHasIdentityArgs() (string, error) {
if err != nil {
return "", err
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToRegisterArgs() (string, error) {
if len(req.Params) < 1 {
- return "", NewErrorResponse(ErrorArguments)
+ return "", errArguments
}
var args string
@@ -398,13 +388,13 @@ func (req *RpcRequest) ToRegisterArgs() (string, error) {
if err != nil {
return "", err
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}
func (req *RpcRequest) ToWatchTxArgs() (string, error) {
if len(req.Params) < 1 {
- return "", NewErrorResponse(ErrorArguments)
+ return "", errArguments
}
var args string
@@ -412,6 +402,6 @@ func (req *RpcRequest) ToWatchTxArgs() (string, error) {
if err != nil {
return "", err
}
- rpclogger.DebugDetailf("%T %v", args, args)
+
return args, nil
}