https://github.com/cxxxr/jsonrpc
JSON-RPC 2.0 server/client for Common Lisp.
https://github.com/cxxxr/jsonrpc
common-lisp json-rpc
Last synced: about 2 months ago
JSON representation
JSON-RPC 2.0 server/client for Common Lisp.
- Host: GitHub
- URL: https://github.com/cxxxr/jsonrpc
- Owner: cxxxr
- Created: 2016-12-27T06:33:00.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-08-03T17:24:40.000Z (9 months ago)
- Last Synced: 2025-10-07T22:40:11.515Z (6 months ago)
- Topics: common-lisp, json-rpc
- Language: Common Lisp
- Homepage:
- Size: 161 KB
- Stars: 76
- Watchers: 9
- Forks: 16
- Open Issues: 9
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
- awesome-cl - jsonrpc - JSON-RPC 2.0 server/client for Common Lisp. [BSD][15]. (Interfaces to other package managers / OpenAPI, OData, OpenRPC)
README
# jsonrpc
[](http://quickdocs.org/jsonrpc/)
[](https://travis-ci.org/fukamachi/jsonrpc)
[](https://coveralls.io/r/fukamachi/jsonrpc)
JSON-RPC 2.0 server/client for Common Lisp.
## Usage
```common-lisp
;; server
(defvar *server* (jsonrpc:make-server))
(jsonrpc:expose *server* "sum" (lambda (args) (reduce #'+ args)))
(jsonrpc:server-listen *server* :port 50879 :mode :tcp)
```
```common-lisp
;; client
(defvar *client* (jsonrpc:make-client))
(jsonrpc:client-connect *client* :url "http://127.0.0.1:50879" :mode :tcp)
(jsonrpc:call *client* "sum" '(10 20))
;=> 30
;; Calling with :timeout option
(jsonrpc:call *client* "sum" '(10 20) :timeout 1.0)
;=> 30
```
To invoke an interactive debugger on any errors in your handlers, set `jsonrpc:*debug-on-error*` to `t`.
## Experimental features (only for Server)
- broadcast
- multicall-async
## Author
* Eitaro Fukamachi (e.arrows@gmail.com)
## Copyright
Copyright (c) 2016 Eitaro Fukamachi (e.arrows@gmail.com)
## License
Licensed under the BSD 2-Clause License.