Skip to content

cxxxr/jsonrpc

Repository files navigation

jsonrpc

Quicklisp dist Build Status Coverage Status

JSON-RPC 2.0 server/client for Common Lisp.

Usage

;; server
(defvar *server* (jsonrpc:make-server))
(jsonrpc:expose *server* "sum" (lambda (args) (reduce #'+ args)))

(jsonrpc:server-listen *server* :port 50879 :mode :tcp)
;; 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

Copyright

Copyright (c) 2016 Eitaro Fukamachi (e.arrows@gmail.com)

License

Licensed under the BSD 2-Clause License.

About

JSON-RPC 2.0 server/client for Common Lisp.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published