68 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
json-rpc-shell
 | 
						|
==============
 | 
						|
 | 
						|
`json-rpc-shell' is a simple shell for running JSON-RPC 2.0 queries.
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
Supported transports
 | 
						|
--------------------
 | 
						|
 - HTTP
 | 
						|
 - HTTPS
 | 
						|
 - 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).
 | 
						|
 | 
						|
Building and Running
 | 
						|
--------------------
 | 
						|
Build dependencies: CMake, pkg-config, help2man,
 | 
						|
                    liberty (included), http-parser (included)
 | 
						|
Runtime dependencies: libev, Jansson, cURL, readline, openssl
 | 
						|
 | 
						|
 $ git clone https://github.com/pjanouch/json-rpc-shell.git
 | 
						|
 $ git submodule init
 | 
						|
 $ git submodule update
 | 
						|
 $ mkdir build
 | 
						|
 $ cd 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
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
Contributing and Support
 | 
						|
------------------------
 | 
						|
Use this project's GitHub to report any bugs, request features, or submit pull
 | 
						|
requests.  If you want to discuss this project, or maybe just hang out with
 | 
						|
the developer, feel free to join me at irc://anathema.irc.so, channel #anathema.
 | 
						|
 | 
						|
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
 |