add error handler for resources

This commit is contained in:
oleg 2015-07-05 20:18:51 +03:00
parent 6d664213c5
commit fec6633a7a
5 changed files with 23 additions and 21 deletions

View File

@ -9,7 +9,7 @@ catchRev:
notify:
on:
- done
# - done
# - error
- change
to:

View File

@ -7,7 +7,7 @@ var Steppy = require('twostep').Steppy,
module.exports = function(app) {
var resource = app.dataio.resource('builds');
resource.use('readAll', function(req, res) {
resource.use('readAll', function(req, res, next) {
Steppy(
function() {
var findParams = _(req.data).pick('offset', 'limit');
@ -19,13 +19,11 @@ module.exports = function(app) {
function(err, builds) {
res.send(builds);
},
function(err) {
console.log(err.stack || err)
}
next
);
});
resource.use('read', function(req, res) {
resource.use('read', function(req, res, next) {
Steppy(
function() {
var findParams = {};
@ -35,9 +33,7 @@ module.exports = function(app) {
function(err, build) {
res.send(build[0]);
},
function(err) {
console.log(err.stack || err)
}
next
);
});

View File

@ -0,0 +1,9 @@
'use strict';
module.exports = function(err, req, res, next) {
console.error(
'Error is occurred during requesting ' +
req.resource.namespace.name + ' ' + req.action + ':',
err.stack || err
);
};

View File

@ -1,9 +1,11 @@
'use strict';
var _ = require('underscore');
var _ = require('underscore'),
errorHandler = require('./errorHandler');
module.exports = function(app) {
_(['builds', 'projects']).each(function(resource) {
require('./' + resource)(app);
var resource = require('./' + resource)(app);
resource.use(errorHandler);
});
};

View File

@ -6,7 +6,8 @@ var Steppy = require('twostep').Steppy,
Distributor = require('../lib/distributor').Distributor,
db = require('../db'),
path = require('path'),
fs = require('fs');
fs = require('fs'),
utils = require('../lib/utils');
module.exports = function(app) {
@ -58,9 +59,7 @@ module.exports = function(app) {
}
})
.on('end', callback)
.on('error', function(err) {
console.log(err.stack || err);
});
.on('error', utils.logErrorCallback);
});
buildDataResourcesHash[build.id] = buildDataResource;
};
@ -97,9 +96,7 @@ module.exports = function(app) {
writeStreamsHash[filePath] = fs.createWriteStream(
getBuildLogPath(build.id), {encoding: 'utf8'}
);
writeStreamsHash[filePath].on('error', function(err) {
console.error(err.stack || err);
});
writeStreamsHash[filePath].on('error', utils.logErrorCallback);
}
// TODO: close ended files
writeStreamsHash[filePath].write(data);
@ -117,9 +114,7 @@ module.exports = function(app) {
distributor.run({
projectName: projectName,
initiator: {type: 'user'}
}, function(err, build) {
console.log('>>> err, build = ', err && err.stack || err, build);
});
}, utils.logErrorCallback);
res.send();
});