fskv-client

A Node fskv client

fskv-client

A Node fskv client

First, install Node.JS. Then:

npm install fskv-client

Given:

var FSKVClient = require('fskv-client').FSKVClient;
var db = new FSKVClient('http://localhost:9000');
db.put('my key', 'my value', function(errresbody) {
  console.log(res.statusCode);
  // => 200 
  console.dir(body);
  // => { message: 'saved', status: 'ok' } 
});
db.get('my key', function(errresbody) {
  console.log(res.statusCode);
  // => 200 
  console.log(body);
  // => 'my value' 
});
db.del('my key', function(errresbody) {
  console.log(res.statusCode);
  // => 200 
  console.dir(body);
  // => { message: 'deleted', status: 'ok' } 
});

Create a new database object that can be used to get and put data

User-Agent is optional and defaults to fskv-client (vX.Y.Z) with the version number


All callbacks given below will be fired as function(err, res, body), which is passed directly from the request module

Execute a GET request for the given key.

  • etag: An optional etag to use when making the request. If the etag matches, a 304 is returned with no data
  • cb: An optional callback. If not callback is supplied, the request is returned as an event emitter that can be piped
// EventEmitter Example 
db.get('my key').pipe(process.stdout);

Same as GET above, but no data is ever returned.

Execute a PUT on the database with the given key.

  • value: An Optional value to put in the database. If not supplied, it is assumed an EventEmmiter will be piped into the object.
  • opts: An optional object to pass in as a query string. Example: {exclusive: true} for exclusive requests.
  • cb: An optional callback
// EventEmitter Example 
var fs = require('fs');
var rs = fs.createReadStream('/etc/passwd');
var put = db.put(key);
 
put.on('error', function(e) {
  console.error(e.message);
});
rs.pipe(put);
// EventEmitter Example whith a callback 
var fs = require('fs');
var rs = fs.createReadStream('/etc/passwd');
 
var req = db.put(key, function(errresbody) {
  console.log(res.statusCode);
  // => 200 
});
 
rs.pipe(req);

Execute a DELETE on the database with the given key.

  • cb: An optional callback

Ping the server, you can test that res.statusCode === 200 and body === 'pong\n'

body will be set to a parsed object that represents the servers stats

MIT