UNPKG

openhim-core

Version:

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

50 lines (37 loc) 1.21 kB
var Q, SDC, application, config, domain, logger, os, sdc, setupProxyHeaders, statsdServer; logger = require("winston"); 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.setupProxyHeaders = setupProxyHeaders = function(ctx) { var setOrAppendHeader; setOrAppendHeader = function(ctx, header, value) { if (!value) { return; } if (ctx.header[header]) { return ctx.header[header] = ctx.header[header] + ", " + value; } else { return ctx.header[header] = "" + value; } }; setOrAppendHeader(ctx, 'X-Forwarded-For', ctx.request.ip); return setOrAppendHeader(ctx, 'X-Forwarded-Host', ctx.request.host); }; exports.koaMiddleware = function*(next) { var startTime; if (statsdServer.enabled) { startTime = new Date(); } exports.setupProxyHeaders(this); if (statsdServer.enabled) { sdc.timing(domain + ".proxyHeadersMiddleware", startTime); } return (yield next); }; //# sourceMappingURL=proxy.js.map