xbroker-client

XBroker Javascript Client

Usage no npm install needed!

<script type="module">
  import xbrokerClient from 'https://cdn.skypack.dev/xbroker-client';
</script>

README

XBroker Client">

npm version jest dependencies devDependencies License: MIT

XBroker Javascript Client

Installation

npm install xbroker-client

Usage

$ npx xbroker-client -h
usage: xbroker-client [options]

options:

Example

Start a websocket server:

$ npx xbroker
Starting up xbroker, serving port 3500
Hit CTRL-C to stop the server

Start a websocket server when redis requires authentication:

$ npx xbroker -a password
Starting up xbroker, serving port 3500
Hit CTRL-C to stop the server

Open a console in a browser and create a client socket:

var socket = new WebSocket("ws://localhost:3500");

socket.onopen = function(event) {
    console.log("Connected to: " + event.currentTarget.url);
};

socket.onerror = function(error) {
    console.log("Websocket error: " + error);
};

socket.onmessage = function(event) {
    console.log(JSON.stringify(JSON.parse(event.data), undefined, 4));
};

socket.onclose = function(error) {
    console.log("Disconnected from websocket");
};

Send the command "KEYS *" in a JSON format to Redis:

socket.send('{"tag": "1", "cmd": "keys", "args": ["*"]}')

{
    "tag": "1",
    "status": "ok",
    "result": [
        "key1",
        "key2",
        "key3"
    ],
    "command": {"tag": "1", "cmd": "keys", "args": ["*TXN*"]}
}

Development

Setup:

git clone https://github.com/xbroker/xbroker-client.git
cd xbroker-client
npm install

Build:

npm run build

Test:

# Start xbroker server and redis service in a docker stack
./xbroker-test/setup.sh
# Run the test suite
npm test

Lint, Build, Test, and Clean:

# Start xbroker server and redis service in a docker stack
./xbroker-test/setup.sh
# Run all
npm run all

Update Dependencies:

npm update --save

License

MIT