Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a minimal JSON-RPC 2.0 client for stdio transport
func NewClient ¶
func NewClient(stdin io.WriteCloser, stdout io.ReadCloser) *Client
NewClient creates a new JSON-RPC client
func (*Client) SetRequestHandler ¶
func (c *Client) SetRequestHandler(method string, handler RequestHandler)
SetRequestHandler registers a handler for incoming requests from the server
type Error ¶
type Error struct {
Code int `json:"code"`
Message string `json:"message"`
Data map[string]any `json:"data,omitempty"`
}
Error represents a JSON-RPC error response
type NotificationHandler ¶
type NotificationHandler func(method string, params json.RawMessage)
NotificationHandler handles incoming notifications
type Request ¶
type Request struct {
JSONRPC string `json:"jsonrpc"`
ID json.RawMessage `json:"id"` // nil for notifications
Method string `json:"method"`
Params json.RawMessage `json:"params"`
}
Request represents a JSON-RPC 2.0 request
type RequestHandler ¶
type RequestHandler func(params json.RawMessage) (json.RawMessage, *Error)
RequestHandler handles incoming server requests and returns a result or error
func NotificationHandlerFor ¶ added in v0.1.24
func NotificationHandlerFor[In any](handler func(params In)) RequestHandler
func RequestHandlerFor ¶ added in v0.1.24
func RequestHandlerFor[In, Out any](handler func(params In) (Out, *Error)) RequestHandler
RequestHandlerFor creates a RequestHandler from a typed function
type Response ¶
type Response struct {
JSONRPC string `json:"jsonrpc"`
ID json.RawMessage `json:"id,omitempty"`
Result json.RawMessage `json:"result,omitempty"`
Error *Error `json:"error,omitempty"`
}
Response represents a JSON-RPC 2.0 response
Click to show internal directories.
Click to hide internal directories.