tendermint: github.com/tendermint/tendermint/rpc/lib/types Index | Files

package rpctypes

import "github.com/tendermint/tendermint/rpc/lib/types"

Index

Package Files

types.go

func SocketType Uses

func SocketType(listenAddr string) string

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

type Context Uses

type Context struct {
    // json-rpc request
    JSONReq *RPCRequest
    // websocket connection
    WSConn WSRPCConnection
    // http request
    HTTPReq *http.Request
}

Context is the first parameter for all functions. It carries a json-rpc request, http request and websocket connection.

- JSONReq is non-nil when JSONRPC is called over websocket or HTTP. - WSConn is non-nil when we're connected via a websocket. - HTTPReq is non-nil when URI or JSONRPC is called over HTTP.

func (*Context) Context Uses

func (ctx *Context) Context() context.Context

Context returns the request's context. The returned context is always non-nil; it defaults to the background context. HTTP:

The context is canceled when the client's connection closes, the request
is canceled (with HTTP/2), or when the ServeHTTP method returns.

WS:

The context is canceled when the client's connections closes.

func (*Context) RemoteAddr Uses

func (ctx *Context) RemoteAddr() string

RemoteAddr returns the remote address (usually a string "IP:port"). If neither HTTPReq nor WSConn is set, an empty string is returned. HTTP:

http.Request#RemoteAddr

WS:

result of GetRemoteAddr

type JSONRPCIntID Uses

type JSONRPCIntID int

JSONRPCIntID a wrapper for JSON-RPC integer IDs

type JSONRPCStringID Uses

type JSONRPCStringID string

JSONRPCStringID a wrapper for JSON-RPC string IDs

type RPCError Uses

type RPCError struct {
    Code    int    `json:"code"`
    Message string `json:"message"`
    Data    string `json:"data,omitempty"`
}

func (RPCError) Error Uses

func (err RPCError) Error() string

type RPCRequest Uses

type RPCRequest struct {
    JSONRPC string          `json:"jsonrpc"`
    ID      jsonrpcid       `json:"id"`
    Method  string          `json:"method"`
    Params  json.RawMessage `json:"params"` // must be map[string]interface{} or []interface{}
}

func ArrayToRequest Uses

func ArrayToRequest(cdc *amino.Codec, id jsonrpcid, method string, params []interface{}) (RPCRequest, error)

func MapToRequest Uses

func MapToRequest(cdc *amino.Codec, id jsonrpcid, method string, params map[string]interface{}) (RPCRequest, error)

func NewRPCRequest Uses

func NewRPCRequest(id jsonrpcid, method string, params json.RawMessage) RPCRequest

func (RPCRequest) String Uses

func (req RPCRequest) String() string

func (*RPCRequest) UnmarshalJSON Uses

func (request *RPCRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON custom JSON unmarshalling due to jsonrpcid being string or int

type RPCResponse Uses

type RPCResponse struct {
    JSONRPC string          `json:"jsonrpc"`
    ID      jsonrpcid       `json:"id"`
    Result  json.RawMessage `json:"result,omitempty"`
    Error   *RPCError       `json:"error,omitempty"`
}

func NewRPCErrorResponse Uses

func NewRPCErrorResponse(id jsonrpcid, code int, msg string, data string) RPCResponse

func NewRPCSuccessResponse Uses

func NewRPCSuccessResponse(cdc *amino.Codec, id jsonrpcid, res interface{}) RPCResponse

func RPCInternalError Uses

func RPCInternalError(id jsonrpcid, err error) RPCResponse

func RPCInvalidParamsError Uses

func RPCInvalidParamsError(id jsonrpcid, err error) RPCResponse

func RPCInvalidRequestError Uses

func RPCInvalidRequestError(id jsonrpcid, err error) RPCResponse

func RPCMethodNotFoundError Uses

func RPCMethodNotFoundError(id jsonrpcid) RPCResponse

func RPCParseError Uses

func RPCParseError(id jsonrpcid, err error) RPCResponse

func RPCServerError Uses

func RPCServerError(id jsonrpcid, err error) RPCResponse

func (RPCResponse) String Uses

func (resp RPCResponse) String() string

func (*RPCResponse) UnmarshalJSON Uses

func (response *RPCResponse) UnmarshalJSON(data []byte) error

UnmarshalJSON custom JSON unmarshalling due to jsonrpcid being string or int

type WSRPCConnection Uses

type WSRPCConnection interface {
    // GetRemoteAddr returns a remote address of the connection.
    GetRemoteAddr() string
    // WriteRPCResponse writes the resp onto connection (BLOCKING).
    WriteRPCResponse(resp RPCResponse)
    // TryWriteRPCResponse tries to write the resp onto connection (NON-BLOCKING).
    TryWriteRPCResponse(resp RPCResponse) bool
    // Codec returns an Amino codec used.
    Codec() *amino.Codec
    // Context returns the connection's context.
    Context() context.Context
}

WSRPCConnection represents a websocket connection.

Package rpctypes imports 8 packages (graph) and is imported by 18 packages. Updated 2019-09-13. Refresh now. Tools for package owners.