Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidRequest = Error{ Code: -32600, Message: "invalid request", } ErrMethodNotFound = Error{ Code: -32601, Message: "method not found", } ErrInvalidParams = Error{ Code: -32602, Message: "invalid params", } ErrInternal = Error{ Code: -32603, Message: "internal error", } ErrParse = Error{ Code: -32700, Message: "parse error", } )
View Source
var (
ErrClosed = errors.ConstError("connection has been closed")
)
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { Connect() error Send(req Request, resp *Response) error SendContext(ctx context.Context, req Request, resp *Response) error SendAsync(req Request) ResponseFuture SetCloseHandler(handler CloseHandler) SetRequestHandler(handler RequestHandler) Close() error }
type CloseHandler ¶
type CloseHandler = func(err error)
type Connection ¶
type Dialer ¶
type Dialer interface { Dial() (Connection, error) DialContext(ctx context.Context) (Connection, error) }
type Error ¶
type Error struct { Code int32 `json:"code"` Message string `json:"message"` Data json.RawMessage `json:"data,omitempty"` }
type IdGenerator ¶
type IdGenerator = func() string
type Request ¶
type Request struct { Id json.RawMessage `json:"id,omitempty"` Method string `json:"method"` Params json.RawMessage `json:"params,omitempty"` Version string `json:"jsonrpc,omitempty"` }
func NewRequest ¶
func NewRequest(method string, params any, options ...RequestOption) (*Request, error)
func (*Request) EnsureId ¶
func (r *Request) EnsureId(gen IdGenerator) error
func (*Request) UnmarshalId ¶
func (*Request) UnmarshalParams ¶
type RequestHandler ¶
type RequestHandler = func(req Request)
type RequestOption ¶
type RequestOption = func(opts *RequestOptions) error
func RequestNumericId ¶
func RequestNumericId(id int) RequestOption
func RequestStringId ¶
func RequestStringId(id string) RequestOption
func RequestVersion ¶
func RequestVersion(version string) RequestOption
type RequestOptions ¶
type RequestOptions struct { Version string Id json.RawMessage }
func DefaultRequestOptions ¶
func DefaultRequestOptions() RequestOptions
type Response ¶
type Response struct { Id json.RawMessage `json:"id,omitempty"` Result json.RawMessage `json:"result,omitempty"` Error *Error `json:"error,omitempty"` Version string `json:"jsonrpc"` }
func NewResponse ¶
func NewResponse(result any, options ...ResponseOption) (*Response, error)
func NewResponseError ¶
func NewResponseError(error Error, options ...ResponseOption) (*Response, error)
func (*Response) UnmarshalId ¶
func (*Response) UnmarshalResult ¶
type ResponseFuture ¶
type ResponseFuture = async.Future[async.Result[*Response]]
type ResponseOption ¶
type ResponseOption = func(opts *ResponseOptions) error
func ResponseNumericId ¶
func ResponseNumericId(id int) ResponseOption
func ResponseStringId ¶
func ResponseStringId(id string) ResponseOption
func ResponseVersion ¶
func ResponseVersion(version string) ResponseOption
type ResponseOptions ¶
type ResponseOptions struct { Id json.RawMessage Version string }
func DefaultResponseOptions ¶
func DefaultResponseOptions() ResponseOptions
type WebSocketDialer ¶
func (WebSocketDialer) Dial ¶
func (w WebSocketDialer) Dial() (Connection, error)
func (WebSocketDialer) DialContext ¶
func (w WebSocketDialer) DialContext(ctx context.Context) (Connection, error)
Click to show internal directories.
Click to hide internal directories.