json-rpc-shell ============== :compact-option: 'json-rpc-shell' is a shell for running JSON-RPC 2.0 queries. This software was originally created as a replacement for http://software.dzhuvinov.com/json-rpc-2.0-shell.html[a different shell] made by Vladimir Dzhuvinov, in order to avoid Java, but has evolved since. Features -------- In addition to most of the features provided by its predecessor, you will get the following niceties: - configurable JSON syntax highlight, which with prettyprinting turned on helps you make sense of the results significantly - ability to pipe output through a shell command, so that you can view the results in your favourite editor or redirect them to a file - ability to edit the input line in your favourite editor as well with Alt+E - WebSocket (RFC 6455) can also be used as a transport rather than HTTP - even Language Server Protocol servers may be launched as a slave command - support for method name tab completion using OpenRPC discovery or file input Documentation ------------- See the link:json-rpc-shell.adoc[man page] for information about usage. The rest of this README will concern itself with externalities. Packages -------- Regular releases are sporadic. git master should be stable enough. You can get a package with the latest development version from Archlinux's AUR. Building -------- Build dependencies: CMake, pkg-config, asciidoctor or asciidoc, liberty (included), http-parser (included) + Runtime dependencies: libev, Jansson, cURL, openssl, readline or libedit >= 2013-07-12, $ git clone --recursive https://git.janouch.name/p/json-rpc-shell.git $ mkdir json-rpc-shell/build $ cd json-rpc-shell/build $ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug $ make To install the application, you can do either the usual: # make install Or you can try telling CMake to make a package for you. For Debian it is: $ cpack -G DEB # dpkg -i json-rpc-shell-*.deb Test server ----------- If you install development packages for libmagic, an included test server will be built but not installed which provides a trivial JSON-RPC 2.0 service with FastCGI, SCGI, WebSocket and LSP-like co-process interfaces. It responds to `ping` and `date`, supports OpenRPC discovery and it can serve static files. Contributing and Support ------------------------ Use https://git.janouch.name/p/json-rpc-shell to report bugs, request features, or submit pull requests. `git send-email` is tolerated. If you want to discuss the project, feel free to join me at ircs://irc.janouch.name, channel #dev. Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9 License ------- This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.