UNPKG

openhim-core

Version:

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

59 lines (41 loc) 1.37 kB
var Channel, Q, SDC, Transaction, application, auth, config, domain, logger, os, sdc, statsdServer; auth = require('basic-auth'); Channel = require('../model/channels').Channel; logger = require('winston'); Transaction = require('../model/transactions').Transaction; Q = require('q'); config = require('../config/config'); statsdServer = config.get('statsd'); application = config.get('application'); SDC = require('statsd-client'); os = require('os'); domain = (os.hostname()) + "." + application.name + ".appMetrics"; sdc = new SDC(statsdServer); exports.authoriseUser = function(ctx, done) { return Transaction.findOne({ _id: ctx.parentID }, function(err, originalTransaction) { return Channel.findOne({ _id: originalTransaction.channelID }, function(err, authorisedChannel) { ctx.authorisedChannel = authorisedChannel; return done(); }); }); }; /* * Koa middleware for authentication by basic auth */ exports.koaMiddleware = function*(next) { var authoriseUser, startTime; if (statsdServer.enabled) { startTime = new Date(); } authoriseUser = Q.denodeify(exports.authoriseUser); (yield authoriseUser(this)); if (statsdServer.enabled) { sdc.timing(domain + ".rerunBypassAuthorisationMiddleware", startTime); } return (yield next); }; //# sourceMappingURL=rerunBypassAuthorisation.js.map