respondo
Convenience middleware for building express REST API's
Last updated 4 years ago by kparkov .
ISC · Original npm · Tarball · package.json
$ cnpm install respondo 
SYNC missed versions from official npm registry.

Respondo exposes some convenient methods on the res object of an express REST API, and adds some practical middleware for authentication.

Responders

app.use(respondo.responders());
res.success(payload, statusCode = 200);

// For example
res.success({ name: 'Darth Vader' }, 201);

// Result (HTTP Status Code 201)
{
	"success": true,
	"code": 201,
	"result": { "name": 'Darth Vader' }
}

res.failure(message, statusCode = 400);

// For example
res.failure('You are not authorized to do so!', 401);

// Result (HTTP Status Code 401)
{
	"success": true,
	"code": 401,
	"error": "You are not authorized to do so!"
}

Errors

Adds standard errors 404 and 500 to the stack, as a fall-through. It also wraps Mongo validation and index errors, and presents them in a more generic way.

When called, it takes a boolean whether we are in production mode. In production mode, any error details of a generic 500 error are hidden from the user. In development mode, it falls through.

app.use(respondo.errors(false));

Authorization middleware

Given the secret key, decodes a JSON web token set on the Authorizationheader. It sets an identity field on the req object containing properties user (the decoded payload) and authenticated (a boolean indicating if there is a user).

app.use(respondo.authorizationIdentity('ssshh!'));

// Sets the req.identity property
app.get('/', function(req, res) {
	if (!req.identity.authenticated) {
		return res.send('You are not authenticated');
	} else {
		return res.json(req.identity.user);
	}
});

Current Tags

  • 0.5.1                                ...           latest (3 years ago)

9 Versions

  • 0.5.1                                ...           3 years ago
  • 0.5.0                                ...           4 years ago
  • 0.4.1                                ...           4 years ago
  • 0.4.0                                ...           4 years ago
  • 0.3.2                                ...           4 years ago
  • 0.3.1                                ...           4 years ago
  • 0.3.0                                ...           4 years ago
  • 0.2.0                                ...           4 years ago
  • 0.1.0                                ...           4 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (4)
Dev Dependencies (7)
Dependents (2)

Copyright 2014 - 2016 © taobao.org |