webservices/node_modules/oauth2orize/lib/middleware/authorizationErrorHandler.js

28 lines
929 B
JavaScript

module.exports = function(server, options) {
options = options || {};
if (!server) { throw new TypeError('oauth2orize.authorizationErrorHandler middleware requires a server argument'); }
return function authorizationErrorHandler(err, req, res, next) {
if (!req.oauth2) { return next(err); }
if (req.oauth2.transactionID && !req.oauth2._endProxied) {
// proxy end() to delete the transaction
var end = res.end;
res.end = function(chunk, encoding) {
if (server._txnStore.legacy == true) {
server._txnStore.remove(options, req, req.oauth2.transactionID, function noop(){});
} else {
server._txnStore.remove(req, req.oauth2.transactionID, function noop(){});
}
res.end = end;
res.end(chunk, encoding);
};
}
server._respondError(err, req.oauth2, res, function(err) {
return next(err);
});
}
}