Merge pull request #1724 from Gustav-Simonsson/get_work

rpc: return error code for eth_getWork when no work ready
This commit is contained in:
Felix Lange
2015-08-29 10:54:10 +02:00
4 changed files with 27 additions and 4 deletions

View File

@@ -64,6 +64,20 @@ func NewNotImplementedError(method string) *NotImplementedError {
}
}
type NotReadyError struct {
Resource string
}
func (e *NotReadyError) Error() string {
return fmt.Sprintf("%s not ready", e.Resource)
}
func NewNotReadyError(resource string) *NotReadyError {
return &NotReadyError{
Resource: resource,
}
}
type DecodeParamError struct {
err string
}

View File

@@ -92,6 +92,9 @@ func NewRpcResponse(id interface{}, jsonrpcver string, reply interface{}, err er
case *NotImplementedError:
jsonerr := &ErrorObject{-32601, err.Error()}
response = &ErrorResponse{Jsonrpc: jsonrpcver, Id: id, Error: jsonerr}
case *NotReadyError:
jsonerr := &ErrorObject{-32000, err.Error()}
response = &ErrorResponse{Jsonrpc: jsonrpcver, Id: id, Error: jsonerr}
case *DecodeParamError, *InsufficientParamsError, *ValidationError, *InvalidTypeError:
jsonerr := &ErrorObject{-32602, err.Error()}
response = &ErrorResponse{Jsonrpc: jsonrpcver, Id: id, Error: jsonerr}