Documentation ¶
Overview ¶
Package jsonrpc2x provide helpers for JSON-RPC 2.0 API.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidParams = jsonrpc2.NewError(-32602, "invalid params") // Client bug. ErrInternal = jsonrpc2.NewError(-32000, "server error") // Server bug or I/O issue. )
Standard errors.
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client provides an easier way to use jsonrpc2.Client.
func NewHTTPClient ¶
NewHTTPClient wraps jsonrpc2.NewHTTPClient.
type Error ¶
Error wraps JSON-RPC 2.0 "Error object" to match (using errors.Is) any other JSON-RPC 2.0 error with same code.
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
Metrics contains general metrics for JSON-RPC 2.0 methods.
type Middleware ¶
Middleware is a JSON-RPC 2.0 middleware.
func MakeAccessLog ¶
func MakeAccessLog(log Log) Middleware
MakeAccessLog creates middleware which log method call success/failure.
func MakeMetrics ¶
func MakeMetrics(metric Metrics, methodName string) Middleware
MakeMetrics creates middleware which add default metrics.
func MakeRecovery ¶
func MakeRecovery(log Log, metric def.Metrics) Middleware
MakeRecovery creates middleware which handle panics.
func MakeValidateErr ¶
func MakeValidateErr(log Log, strict bool, errsCommon, errsExtra []error) Middleware
MakeValidateErr creates middleware which validates error against documented errors (api.ErrsCommon + api.ErrsExtra[method]).
Use NewError instead of jsonrpc2.NewError to create errors which must match documented errors only by code.
TODO Add new metric to report and extra (metric, methodName) args.