2014-09-07 02:20:49 +02:00
|
|
|
json-rpc-shell
|
|
|
|
==============
|
|
|
|
|
2015-03-23 23:23:19 +01:00
|
|
|
`json-rpc-shell' is a simple shell for running JSON-RPC 2.0 queries.
|
2014-09-07 02:20:49 +02:00
|
|
|
|
|
|
|
This software has been created as a replacement for the following shell, which
|
|
|
|
is written in Java: http://software.dzhuvinov.com/json-rpc-2.0-shell.html
|
|
|
|
|
2015-03-23 23:23:19 +01:00
|
|
|
Supported transports
|
|
|
|
--------------------
|
|
|
|
- HTTP
|
|
|
|
- HTTPS
|
2015-03-29 00:37:12 +01:00
|
|
|
- WebSocket
|
|
|
|
- WebSocket over TLS
|
|
|
|
|
|
|
|
WebSockets
|
|
|
|
----------
|
|
|
|
The WebSocket transport is rather experimental. As the JSON-RPC 2.0 spec
|
|
|
|
doesn't say almost anything about the underlying transports, I'll shortly
|
|
|
|
describe the way it's implemented: every request is sent as a single text
|
|
|
|
message. If it has an "id" field, i.e. it's not just a notification, the
|
|
|
|
client waits for a message from the server in response.
|
|
|
|
|
|
|
|
There's no support so far for any protocol extensions, nor for specifying
|
|
|
|
the higher-level protocol (the "Sec-Ws-Protocol" HTTP field).
|
2015-03-23 23:23:19 +01:00
|
|
|
|
2014-09-07 02:20:49 +02:00
|
|
|
Building and Running
|
|
|
|
--------------------
|
2015-03-29 00:37:12 +01:00
|
|
|
Build dependencies: CMake, pkg-config, help2man,
|
|
|
|
liberty (included), http-parser (included)
|
|
|
|
Runtime dependencies: libev, Jansson, cURL, readline, openssl
|
2014-09-07 02:20:49 +02:00
|
|
|
|
|
|
|
$ git clone https://github.com/pjanouch/json-rpc-shell.git
|
2015-02-28 21:18:02 +01:00
|
|
|
$ git submodule init
|
|
|
|
$ git submodule update
|
2014-11-18 21:39:39 +01:00
|
|
|
$ mkdir build
|
|
|
|
$ cd 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-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:
|
|
|
|
$ cpack -G DEB
|
|
|
|
# dpkg -i json-rpc-shell-*.deb
|
|
|
|
|
|
|
|
Note that for versions of CMake before 2.8.9, you need to prefix cpack with
|
|
|
|
`fakeroot' or file ownership will end up wrong.
|
|
|
|
|
|
|
|
Run the program with `--help' to obtain usage information.
|
2014-09-07 02:20:49 +02:00
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
`json-rpc-shell' is written by Přemysl Janouch <p.janouch@gmail.com>.
|
|
|
|
|
|
|
|
You may use the software under the terms of the ISC license, the text of which
|
|
|
|
is included within the package, or, at your option, you may relicense the work
|
|
|
|
under the MIT or the Modified BSD License, as listed at the following site:
|
|
|
|
|
|
|
|
http://www.gnu.org/licenses/license-list.html
|