UNPKG

openhim-core

Version:

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

29 lines (24 loc) 897 B
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 = (ctx) -> # Headers setOrAppendHeader = (ctx, header, value) -> return if not value if ctx.header[header] ctx.header[header] = "#{ctx.header[header]}, #{value}" else ctx.header[header] = "#{value}" setOrAppendHeader ctx, 'X-Forwarded-For', ctx.request.ip setOrAppendHeader ctx, 'X-Forwarded-Host', ctx.request.host exports.koaMiddleware = (next) -> startTime = new Date() if statsdServer.enabled exports.setupProxyHeaders this sdc.timing "#{domain}.proxyHeadersMiddleware", startTime if statsdServer.enabled yield next