Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 4 days 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 (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-20T15:02:53.000Z (2 months ago)
- Last Synced: 2024-10-31T13:16:28.656Z (about 2 months ago)
- Topics: common-lisp, json-rpc
- Language: Common Lisp
- Homepage:
- Size: 158 KB
- Stars: 66
- Watchers: 11
- Forks: 16
- Open Issues: 10
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
# jsonrpc
[![Quicklisp dist](http://quickdocs.org/badge/jsonrpc.svg)](http://quickdocs.org/jsonrpc/)
[![Build Status](https://travis-ci.org/fukamachi/jsonrpc.svg?branch=master)](https://travis-ci.org/fukamachi/jsonrpc)
[![Coverage Status](https://coveralls.io/repos/fukamachi/jsonrpc/badge.svg?branch=master)](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 ([email protected])
## Copyright
Copyright (c) 2016 Eitaro Fukamachi ([email protected])
## License
Licensed under the BSD 2-Clause License.