express.io-middleware

This Express.io extension adds middleware and multiroute functionality to app.io

npm install express.io-middleware
13 downloads in the last week
69 downloads in the last month

express.io-middleware

This Express.io extension adds middleware and multiroute functionality to app.io. It also adds app.io.event and app.io.namespace properties, which contains signal name and namespace (before ':' part) respectively.

Tested with express.io 1.1.x.

Installation:

$ npm install express.io-middleware

Example:

// ...
app.http().io();

require('express.io-middleware')(app); // first of all, you should patch express.io app after calling app.io();

/**
* @param {Object} req Is express.io request object
* @param {Function} next Is a pointer to the next handler in chain.
*/
app.io.use(function (req, next) {
  console.log(req.data);
  if (!req.data) {
    req.respond(':-(');
  } else {
    next();
  }
});

/**
* You may use regular expressions to bind middleware execution only for specified signals.
*/
app.io.use(/.+:save/, function (req, next) {
  if (typeof req.data != 'object') {
    req.io.emit('invalid data received');
  } else {
    next();
  }
});

app.io.route('entity', {
  save: function (req, next) {}
});

/**
* Also, you may build chain of signals handlers.
*/
app.io.route('entity:save', endpoint);

Note that all middlewares should be declared strongly before declaration of routes, for which it should be applied.

npm loves you