UNPKG

openhim-core

Version:

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

56 lines (43 loc) 1.5 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.authoriseUser = authoriseUser; exports.koaMiddleware = koaMiddleware; var _statsdClient = require('statsd-client'); var _statsdClient2 = _interopRequireDefault(_statsdClient); var _os = require('os'); var _os2 = _interopRequireDefault(_os); var _channels = require('../model/channels'); 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 authoriseUser(ctx, done) { return _channels.ChannelModel.findOne({ _id: ctx.request.header['channel-id'] }, (err, channel) => { if (err) { return done(err); } ctx.authorisedChannel = channel; return done(null, channel); }); } /* * Koa middleware for bypassing authorisation for polling */ async function koaMiddleware(ctx, next) { let startTime; if (statsdServer.enabled) { startTime = new Date(); } const _authoriseUser = (0, _util.promisify)(authoriseUser); await _authoriseUser(ctx); if (statsdServer.enabled) { sdc.timing(`${domain}.pollingBypassAuthorisationMiddleware`, startTime); } await next(); } //# sourceMappingURL=pollingBypassAuthorisation.js.map