UNPKG

openhim-mediator-shell-script

Version:
92 lines (68 loc) 2.83 kB
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