Documentation ¶
Index ¶
- func SocketType(listenAddr string) string
- type EventSubscriber
- type RPCError
- type RPCErrorCode
- type RPCRequest
- type RPCResponse
- func NewRPCErrorResponse(id string, code RPCErrorCode, data string) RPCResponse
- func NewRPCSuccessResponse(id string, res interface{}) RPCResponse
- func RPCInternalError(id string, err error) RPCResponse
- func RPCInvalidParamsError(id string, err error) RPCResponse
- func RPCInvalidRequestError(id string, err error) RPCResponse
- func RPCMethodNotFoundError(id string) RPCResponse
- func RPCParseError(id string, err error) RPCResponse
- func RPCServerError(id string, err error) RPCResponse
- type WSRPCConnection
- type WSRPCContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SocketType ¶
---------------------------------------- SOCKETS
Determine if its a unix or tcp socket. If tcp, must specify the port; `0.0.0.0` will return incorrectly as "unix" since there's no port TODO: deprecate
Types ¶
type EventSubscriber ¶
type EventSubscriber interface { Subscribe(ctx context.Context, subscriber string, query tmpubsub.Query, out chan<- interface{}) error Unsubscribe(ctx context.Context, subscriber string, query tmpubsub.Query) error UnsubscribeAll(ctx context.Context, subscriber string) error }
EventSubscriber mirros tendermint/tendermint/types.EventBusSubscriber
type RPCError ¶
type RPCError struct { Code RPCErrorCode `json:"code"` Message string `json:"message"` Data string `json:"data,omitempty"` }
func (*RPCError) HTTPStatusCode ¶
type RPCErrorCode ¶
type RPCErrorCode int
From JSONRPC 2.0 spec
const ( RPCErrorCodeParseError RPCErrorCode = -32700 RPCErrorCodeInvalidRequest RPCErrorCode = -32600 RPCErrorCodeMethodNotFound RPCErrorCode = -32601 RPCErrorCodeInvalidParams RPCErrorCode = -32602 RPCErrorCodeInternalError RPCErrorCode = -32603 RPCErrorCodeServerError RPCErrorCode = -32000 )
func (RPCErrorCode) Error ¶
func (code RPCErrorCode) Error() string
func (RPCErrorCode) HTTPStatusCode ¶
func (code RPCErrorCode) HTTPStatusCode() int
func (RPCErrorCode) String ¶
func (code RPCErrorCode) String() string
type RPCRequest ¶
type RPCRequest struct { JSONRPC string `json:"jsonrpc"` ID string `json:"id"` Method string `json:"method"` Params json.RawMessage `json:"params"` // must be map[string]interface{} or []interface{} }
func ArrayToRequest ¶
func ArrayToRequest(id string, method string, params []interface{}) (RPCRequest, error)
func MapToRequest ¶
func MapToRequest(id string, method string, params map[string]interface{}) (RPCRequest, error)
func NewRPCRequest ¶
func NewRPCRequest(id string, method string, params json.RawMessage) RPCRequest
func (RPCRequest) String ¶
func (req RPCRequest) String() string
type RPCResponse ¶
type RPCResponse struct { JSONRPC string `json:"jsonrpc"` ID string `json:"id"` Result json.RawMessage `json:"result,omitempty"` Error *RPCError `json:"error,omitempty"` }
func NewRPCErrorResponse ¶
func NewRPCErrorResponse(id string, code RPCErrorCode, data string) RPCResponse
func NewRPCSuccessResponse ¶
func NewRPCSuccessResponse(id string, res interface{}) RPCResponse
func RPCInternalError ¶
func RPCInternalError(id string, err error) RPCResponse
func RPCInvalidParamsError ¶
func RPCInvalidParamsError(id string, err error) RPCResponse
func RPCInvalidRequestError ¶
func RPCInvalidRequestError(id string, err error) RPCResponse
func RPCMethodNotFoundError ¶
func RPCMethodNotFoundError(id string) RPCResponse
func RPCParseError ¶
func RPCParseError(id string, err error) RPCResponse
func RPCServerError ¶
func RPCServerError(id string, err error) RPCResponse
func (RPCResponse) String ¶
func (resp RPCResponse) String() string
type WSRPCConnection ¶
type WSRPCConnection interface { GetRemoteAddr() string WriteRPCResponse(resp RPCResponse) TryWriteRPCResponse(resp RPCResponse) bool GetEventSubscriber() EventSubscriber }
*wsConnection implements this interface.
type WSRPCContext ¶
type WSRPCContext struct { Request RPCRequest WSRPCConnection }
websocket-only RPCFuncs take this as the first parameter.
Click to show internal directories.
Click to hide internal directories.