hprotocol
Streaming human readable command protocol
npm install hprotocol
What does it do?
hprotocol allows you to easily generate a command protocol that its easy to parse both for programs and human beings.
As an example lets generate a protocol that echoes a value
var hprotocol = ;var net = ;var protocol =;net;
The echo value > value
syntax denotes an echo
command that accepts a value and returns a value.
Open a new termainal and try interfacing with the server.
$ nc localhost 9999 # create a socket to the server
$ echo test # send a echo command
$ > test # this is the reply from the server
Similary you can interface with the server using node:
var client = ; // using the same protocol as abovevar socket = net;socket;client;
Optionally you can use pass the stream to protocol to setup the pipe chain for you
var socket = net;var client = ;client;
Command syntax
Similary to the above example the command syntax is always
command argument1 argument2 ... > response
If the command does not have a response just do
command argument1 arguments2
If a series of arguments should the passed as an array add ...
to the syntax
command test args... > response
Similary if your response is an array
command test args... > response...
Some examples of this could be
var protocol =var client = ;client;client;client;// setup a pipe chainsocket;
If the above socket was listening on port 9999 we could do
echo 'add 1 2 3 4' | nc localhost 9999
# prints > 10
License
MIT