Library for dealing with the Flowhub Runtime Registry
CoffeeScript JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
spec
.gitignore
.travis.yml
Gruntfile.coffee
README.md
component.json
index.js
package.json

README.md

Flowhub Runtime Registry library Build Status

This library provides easy access to the Flowhub runtime registry. It is intended to be used by Flow-Based Programming Protocol compatible clients to register themselves available for Flowhub users.

Usage:

var flowhub = require('flowhub-registry');

// Prepare runtime information
var rt = new flowhub.Runtime({
  // Human-readable label for the runtime
  label: 'My home NoFlo system',
  // Unique identifier of the runtime instance (must be valid UUID)
  id: '754c5dc0-97e9-11e3-a5e2-0800200c9a66',
  // Flowhub user that should have access to the runtime (must be valid UUID)
  user: '89454800-97e9-11e3-a5e2-0800200c9a66',
  // Protocol to be used, eg. websocket, iframe, or webrtc
  protocol: 'websocket',
  // URL to the runtime
  address: 'ws://some.server.address:3569',
  // Type of the runtime, eg. noflo-nodejs or microflo
  type: 'noflo-nodejs',
  // Secret string for the user to utilize for communication (optional)
  secret: 'C6sxubeP22u4'
});

// Register the Runtime with Flowhub
rt.register(function (err, ok) {
  if (err) {
    alert('Registration failed');
  }
});

In addition to registering the runtime, it is a good idea to periodically ping Flowhub to let the user know that the runtime is still available.

setInterval(function () {
  rt.ping();
}, 5 * 60 * 1000);

If you have access to the user's OAuth token you can also remove a registered runtime:

rt.del('nch9138ohf2892fhgf92g8f942fh2938gf3', function (err, ok) {
});