openhim-mediator-shell-script
Version:
OpenHIM Mediator for executing shell scripts
92 lines (68 loc) • 2.83 kB
JavaScript
var BadRequestError, BaseError, InternalServerError, config, logger, resErrHandler, sendCoreErrorResponse,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
logger = require('winston');
config = require('./config');
BaseError = (function(superClass) {
extend(BaseError, superClass);
function BaseError(message) {
BaseError.__super__.constructor.call(this, this.message = message);
Error.captureStackTrace(this, arguments.callee);
}
return BaseError;
})(Error);
BadRequestError = (function(superClass) {
extend(BadRequestError, superClass);
function BadRequestError() {
return BadRequestError.__super__.constructor.apply(this, arguments);
}
BadRequestError.prototype.name = 'BadRequestError';
return BadRequestError;
})(BaseError);
InternalServerError = (function(superClass) {
extend(InternalServerError, superClass);
function InternalServerError() {
return InternalServerError.__super__.constructor.apply(this, arguments);
}
InternalServerError.prototype.name = 'InternalServerError';
return InternalServerError;
})(BaseError);
exports.BadRequestError = BadRequestError;
exports.InternalServerError = InternalServerError;
sendCoreErrorResponse = function(res, status, err, orchestrations) {
res.set('Content-Type', 'application/json+openhim');
return res.send({
'x-mediator-urn': config.getMediatorConf().urn,
status: status === 500 ? 'Failed' : 'Completed',
orchestrations: orchestrations,
response: {
status: status,
headers: {
'content-type': 'application/json'
},
body: err != null ? err : 'Internal Server Error',
timestamp: new Date()
}
});
};
exports.resErrHandler = resErrHandler = function(res, orchestrations) {
return function(err) {
if (err instanceof BadRequestError) {
logger.info("Bad Request: " + err.message);
return sendCoreErrorResponse(res, 400, err.message, orchestrations);
} else if (err instanceof InternalServerError) {
logger.error(err);
return sendCoreErrorResponse(res, 500, err.message, orchestrations);
} else {
logger.error(err);
return sendCoreErrorResponse(res, 500, err.message, orchestrations);
}
};
};
exports.handleBadRequest = function(res, message, orchestrations) {
return resErrHandler(res, orchestrations)(new BadRequestError(message));
};
exports.handleInternalServerError = function(res, message, orchestrations) {
return resErrHandler(res, orchestrations)(new InternalServerError(message));
};
//# sourceMappingURL=util.js.map