go-ethereum/rpc/messages.go

88 lines
2.2 KiB
Go
Raw Normal View History

2015-01-13 17:13:43 +02:00
/*
This file is part of go-ethereum
go-ethereum is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
go-ethereum is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
*/
2014-10-21 14:24:48 +03:00
package rpc
import (
"encoding/json"
"errors"
2015-01-29 13:01:51 +02:00
"fmt"
)
2015-02-24 20:05:03 +02:00
var (
errArguments = errors.New("Error: Insufficient arguments")
errNotImplemented = errors.New("Error: Method not implemented")
errUnknown = errors.New("Error: Unknown error")
errDecodeArgs = errors.New("Error: Could not decode arguments")
)
2015-02-04 01:29:29 +02:00
type RpcRequest struct {
2015-03-06 05:37:45 +02:00
ID interface{} `json:"id"`
JsonRpc string `json:"jsonrpc"`
Method string `json:"method"`
Params json.RawMessage `json:"params"`
}
type RpcSuccessResponse struct {
2015-02-11 12:56:29 +02:00
ID interface{} `json:"id"`
JsonRpc string `json:"jsonrpc"`
Result interface{} `json:"result"`
2014-10-21 14:24:48 +03:00
}
type RpcErrorResponse struct {
2015-02-11 12:56:29 +02:00
ID interface{} `json:"id"`
2015-02-04 01:29:29 +02:00
JsonRpc string `json:"jsonrpc"`
Error *RpcErrorObject `json:"error"`
}
2015-02-04 01:29:29 +02:00
type RpcErrorObject struct {
Code int `json:"code"`
Message string `json:"message"`
// Data interface{} `json:"data"`
}
2015-02-24 20:05:03 +02:00
func NewErrorWithMessage(err error, msg string) error {
return fmt.Errorf("%s: %s", err.Error(), msg)
2015-01-29 13:01:51 +02:00
}
2015-03-06 05:37:45 +02:00
// func (req *RpcRequest) ToRegisterArgs() (string, error) {
// if len(req.Params) < 1 {
// return "", errArguments
// }
2015-02-24 20:05:03 +02:00
2015-03-06 05:37:45 +02:00
// var args string
// err := json.Unmarshal(req.Params, &args)
// if err != nil {
// return "", err
// }
2015-03-06 05:37:45 +02:00
// return args, nil
// }
2015-03-06 05:37:45 +02:00
// func (req *RpcRequest) ToWatchTxArgs() (string, error) {
// if len(req.Params) < 1 {
// return "", errArguments
// }
2015-02-24 20:05:03 +02:00
2015-03-06 05:37:45 +02:00
// var args string
// err := json.Unmarshal(req.Params, &args)
// if err != nil {
// return "", err
// }
2015-03-06 05:37:45 +02:00
// return args, nil
// }