-
Notifications
You must be signed in to change notification settings - Fork 1k
Expand file tree
/
Copy pathcommon.js
More file actions
40 lines (36 loc) · 908 Bytes
/
common.js
File metadata and controls
40 lines (36 loc) · 908 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'use strict';
var async = require('async');
exports.notReady = function (err, res, p) {
res.status(503).send('Server not yet ready. Sync Percentage:' + p);
};
exports.handleErrors = function (err, res) {
if (err) {
if (err.code) {
res.status(400).send(err.message + '. Code:' + err.code);
}
else {
res.status(503).send(err.message);
}
}
else {
res.status(404).send('Not found');
}
};
exports.multi = function(f, outkey) {
return function(req, res, next, inputdata) {
var inputs;
if (inputdata.indexOf(',') >= 0) {
inputs = inputdata.split(',');
}
else inputs = [inputdata];
async.mapSeries(inputs, f, function(err, results) {
if (err) {
return exports.handleErrors(err, res);
}
req[outkey] = results;
if (req[outkey].length == 1)
req[outkey] = req[outkey][0]
return next();
});
};
}