jsonrpc

package
v0.0.0-...-af1b84c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 13, 2024 License: Unlicense Imports: 8 Imported by: 0

Documentation

Overview

Simple implementation of JSONRPC 2.0.

Index

Constants

This section is empty.

Variables

View Source
var MsgID int64 = 0

Functions

func WsReadLoop

func WsReadLoop(c *websocket.Conn) <-chan Msg

func WsSend

func WsSend[T Msg | Error | Result](c *websocket.Conn, data T) error

Types

type Error

type Error struct {
	ID      int64  `json:"id"`
	Jsonrpc string `json:"jsonrpc"`
	Error   string `json:"error"`
}

type Msg

type Msg struct {
	ID      int64           `json:"id"`
	Jsonrpc string          `json:"jsonrpc"`
	Method  string          `json:"method"`
	Params  json.RawMessage `json:"params"`
}

func NewMsg

func NewMsg(method string, params interface{}) Msg

func (Msg) DebugParams

func (m Msg) DebugParams() map[string]interface{}

func (Msg) Error

func (m Msg) Error(err string) Error

func (Msg) Respond

func (m Msg) Respond(data interface{}) Result

func (Msg) RespondBytes

func (m Msg) RespondBytes(buf []byte) Result

type Result

type Result struct {
	ID       int64       `json:"id"`
	Jsonrpc  string      `json:"jsonrpc"`
	Result   interface{} `json:"result"`
	Encoding string      `json:"encoding,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL