From bff85d46db0f087720f90cb45e4a80c12d262c8f Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Tue, 16 Jun 2015 13:48:41 +0000 Subject: [PATCH] Only use C9_HOSTNAME in containers --- server.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index dcc14738..a0c1c61d 100755 --- a/server.js +++ b/server.js @@ -50,6 +50,7 @@ function getDefaultSettings() { module.exports.getDefaultSettings = getDefaultSettings; function main(argv, config, onLoaded) { + var inContainer = require("./settings/devel.js")().inContainer; var options = optimist(argv) .usage("Usage: $0 [CONFIG_NAME] [--help]") .alias("s", "settings") @@ -58,7 +59,7 @@ function main(argv, config, onLoaded) { .describe("dump", "dump config file as JSON") .describe("domain", "Top-level domain to use (e.g, c9.io)") .describe("exclude", "Exclude specified service") - .default("domain", process.env.C9_HOSTNAME) + .default("domain", inContainer && process.env.C9_HOSTNAME) .boolean("help") .describe("help", "Show command line options."); @@ -123,9 +124,8 @@ function start(configName, options, callback) { if (argv.domain) { settings.c9.domain = argv.domain; for (var s in settings) { - if (settings[s]) - settings[s].baseUrl = settings[s].baseUrl - && settings[s].baseUrl.replace(/[^./]+\.[^.]+$/, argv.domain); + if (settings[s] && settings[s].baseUrl) + settings[s].baseUrl = replaceDomain(settings[s].baseUrl, argv.domain); } } @@ -173,3 +173,8 @@ function start(configName, options, callback) { }); }); } + +function replaceDomain(uri, domain) { + var parsed = url.parse(uri); + return url.format(parsed); +}