jsonrpc

Bundled cx-stdlib module.

jsonrpc:request

[$jsonrpc:request] -> map — Build a JSON-RPC 2.0 request {jsonrpc:"2.0", id, method, params?} (params omitted when empty).

jsonrpc:notification

[$jsonrpc:notification] -> map — Build a JSON-RPC 2.0 notification {jsonrpc:"2.0", method, params?} — a request with no id (no response expected).

jsonrpc:success

[$jsonrpc:success] -> map — Build a JSON-RPC 2.0 success response {jsonrpc:"2.0", id, result}.

jsonrpc:error

[$jsonrpc:error] -> map — Build a JSON-RPC 2.0 error response {jsonrpc:"2.0", id, error:{code, message, data?}}.

jsonrpc:error-for

[$jsonrpc:error-for] -> map — Build a standard error response for a named kind (parse-error/invalid-request/method-not-found/invalid-params/internal-error).

jsonrpc:code

[$jsonrpc:code] -> int — The JSON-RPC 2.0 reserved error code for a named kind (-32700..-32603); unknown kinds map to internal-error (-32603).

jsonrpc:message-for

[$jsonrpc:message-for] -> string — The canonical message string for a named JSON-RPC error kind.

jsonrpc:classify

[$jsonrpc:classify] -> string — Classify a JSON-RPC value by shape: request | notification | success | error | invalid.

jsonrpc:is-valid

[$jsonrpc:is-valid] -> bool — True when the value has jsonrpc:"2.0" and a recognized shape.

jsonrpc:is-batch

[$jsonrpc:is-batch] -> bool — True when the value is a sequence of JSON-RPC messages (its first item carries a jsonrpc member).