json-rpc-shell/README.adoc

78 lines
2.9 KiB
Plaintext
Raw Normal View History

2014-09-07 02:20:49 +02:00
json-rpc-shell
==============
2015-09-27 01:58:45 +02:00
:compact-option:
2014-09-07 02:20:49 +02:00
2020-10-14 13:33:59 +02:00
'json-rpc-shell' is a shell for running JSON-RPC 2.0 queries.
2014-09-07 02:20:49 +02:00
2020-10-14 13:33:59 +02:00
This software was originally created as a replacement for
http://software.dzhuvinov.com/json-rpc-2.0-shell.html[a different shell] made by
2020-10-14 13:33:59 +02:00
Vladimir Dzhuvinov, in order to avoid Java, but has evolved since.
2014-09-07 02:20:49 +02:00
2016-01-21 09:44:39 +01:00
Features
--------
2020-10-14 13:33:59 +02:00
In addition to most of the features provided by its predecessor, you will get
the following niceties:
2016-01-21 09:44:39 +01:00
- 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
2016-01-21 09:48:22 +01:00
- 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
2020-10-14 13:33:59 +02:00
- support for method name tab completion using OpenRPC discovery or file input
2016-01-21 09:44:39 +01:00
Documentation
-------------
See the link:json-rpc-shell.adoc[man page] for information about usage.
The rest of this README will concern itself with externalities.
2016-03-10 21:32:33 +01:00
Packages
--------
Regular releases are sporadic. git master should be stable enough.
You can get a package with the latest development version using Arch Linux's
https://aur.archlinux.org/packages/json-rpc-shell-git[AUR],
or as a https://git.janouch.name/p/nixexprs[Nix derivation].
2016-03-10 21:32:33 +01:00
Building
--------
Build dependencies: CMake, pkg-config, liberty (included),
http-parser (included), asciidoctor or asciidoc (recommended but optional) +
Runtime dependencies:
libev, Jansson, cURL, openssl, readline or libedit >= 2013-07-12
2014-09-07 02:20:49 +02:00
2018-06-24 04:17:04 +02:00
$ git clone --recursive https://git.janouch.name/p/json-rpc-shell.git
2015-09-27 01:56:26 +02:00
$ mkdir json-rpc-shell/build
$ cd json-rpc-shell/build
2015-02-14 01:18:39 +01:00
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
2014-09-07 02:20:49 +02:00
$ make
2015-02-14 01:18:39 +01:00
To install the application, you can do either the usual:
2015-09-27 01:58:45 +02:00
2015-02-26 22:56:52 +01:00
# make install
2015-02-14 01:18:39 +01:00
Or you can try telling CMake to make a package for you. For Debian it is:
2015-09-27 01:58:45 +02:00
2015-02-14 01:18:39 +01:00
$ cpack -G DEB
# dpkg -i json-rpc-shell-*.deb
2018-10-18 07:44:09 +02:00
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.
2015-05-07 20:27:57 +02:00
Contributing and Support
------------------------
2018-06-24 04:17:04 +02:00
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.
2015-05-07 20:27:57 +02:00
2018-06-24 04:17:04 +02:00
Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9
2014-09-07 02:20:49 +02:00
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.