diff --git a/app.js b/app.js index 1dd465f0..f35d580e 100755 --- a/app.js +++ b/app.js @@ -100,8 +100,6 @@ if ( global.environment.log_filename ) { global.log4js.configure(log4jsConfig); global.logger = global.log4js.getLogger(); -global.environment.api_hostname = require('os').hostname().split('.')[0]; - // Include cartodb_windshaft only _after_ the "global" variable is set // See https://github.com/Vizzuality/Windshaft-cartodb/issues/28 var cartodbWindshaft = require('./lib/cartodb/server'); diff --git a/lib/cartodb/middleware/served-by-host-header.js b/lib/cartodb/middleware/served-by-host-header.js new file mode 100644 index 00000000..809100a2 --- /dev/null +++ b/lib/cartodb/middleware/served-by-host-header.js @@ -0,0 +1,11 @@ +const os = require('os'); + +module.exports = function servedByHostHeader () { + const hostname = os.hostname().split('.')[0]; + + return function servedByHostHeaderMiddleware (req, res, next) { + res.set('X-Served-By-Host', hostname); + + next(); + }; +}; diff --git a/lib/cartodb/server.js b/lib/cartodb/server.js index 13fe1e06..9231fb69 100644 --- a/lib/cartodb/server.js +++ b/lib/cartodb/server.js @@ -50,6 +50,7 @@ var StatsBackend = require('./backends/stats'); const lzmaMiddleware = require('./middleware/lzma'); const errorMiddleware = require('./middleware/error-middleware'); +const servedByHostHeader = require('./middleware/served-by-host-header'); module.exports = function(serverOptions) { // Make stats client globally accessible @@ -364,13 +365,7 @@ function bootstrap(opts) { app.use(bodyParser.json()); - app.use(function bootstrap$prepareRequestResponse(req, res, next) { - if (global.environment && global.environment.api_hostname) { - res.set('X-Served-By-Host', global.environment.api_hostname); - } - - next(); - }); + app.use(servedByHostHeader()); app.use(stats({ enabled: opts.useProfiler,