UNPKG

openhim-core

Version:

The OpenHIM core application that provides logging and routing of http requests

68 lines (54 loc) 1.87 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.authenticateUser = authenticateUser; exports.koaMiddleware = koaMiddleware; var _statsdClient = require('statsd-client'); var _statsdClient2 = _interopRequireDefault(_statsdClient); var _os = require('os'); var _os2 = _interopRequireDefault(_os); var _clients = require('../model/clients'); var _config = require('../config'); var _util = require('util'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const statsdServer = _config.config.get('statsd'); const application = _config.config.get('application'); const domain = `${_os2.default.hostname()}.${application.name}.appMetrics`; const sdc = new _statsdClient2.default(statsdServer); function authenticateUser(ctx, done) { return _clients.ClientModel.findOne({ _id: ctx.request.header.clientid }, (err, client) => { if (err) { return done(err); } ctx.authenticated = client; ctx.parentID = ctx.request.header.parentid; ctx.taskID = ctx.request.header.taskid; return done(null, client); }); } /* * Koa middleware for authentication by basic auth */ async function koaMiddleware(ctx, next) { let startTime; if (statsdServer.enabled) { startTime = new Date(); } const _authenticateUser = (0, _util.promisify)(authenticateUser); await _authenticateUser(ctx); if (ctx.authenticated != null) { if (statsdServer.enabled) { sdc.timing(`${domain}.rerunBypassAuthenticationMiddleware`, startTime); } await next(); } else { ctx.authenticated = { ip: '127.0.0.1' // This is a public channel, allow rerun };if (statsdServer.enabled) { sdc.timing(`${domain}.rerunBypassAuthenticationMiddleware`, startTime); } await next(); } } //# sourceMappingURL=rerunBypassAuthentication.js.map