From 23f3e6e80932dfe16830d2452a49d550c710e7c4 Mon Sep 17 00:00:00 2001 From: Lennart kats Date: Mon, 29 Jun 2015 08:41:18 +0000 Subject: [PATCH] Extend urls.js --- node_modules/c9/urls.js | 10 +++++----- node_modules/c9/urls_test.js | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/node_modules/c9/urls.js b/node_modules/c9/urls.js index d3dabbfa..0ac974d0 100644 --- a/node_modules/c9/urls.js +++ b/node_modules/c9/urls.js @@ -25,9 +25,9 @@ function main(options, imports, register) { /** * Get a desired base URL, given some context. * - * @param req The current request object or URL - * @param {String} sourceUrlPattern The source URL pattern, e.g. https://ide.$DOMAIN - * @param {String} targetBaseUrlPattern The target URL pattern, e.g. https://$DOMAIN + * @param req The current request object or URL + * @param {String} sourceUrlPattern The source URL pattern, e.g. https://ide.$DOMAIN + * @param {String} [targetBaseUrlPattern] The target URL pattern, e.g. https://$DOMAIN */ plugin.getBaseUrl = function(req, sourceBaseUrlPattern, targetBaseUrlPattern) { var sourceHost = req.host || req; @@ -39,10 +39,10 @@ plugin.getBaseUrl = function(req, sourceBaseUrlPattern, targetBaseUrlPattern) { if (!hostMatch) { errorLogger.log(new Error("Could not construct URL: request host " + sourceHost + " should match " + sourceBaseUrlPattern)); - return replaceDomain(targetBaseUrlPattern, "c9.io"); + return replaceDomain(targetBaseUrlPattern || sourceBaseUrlPattern, "c9.io"); } - return replaceDomain(targetBaseUrlPattern, hostMatch[1]); + return replaceDomain(targetBaseUrlPattern || sourceBaseUrlPattern, hostMatch[1]); }; plugin.replaceDomains = function(settings, domains) { diff --git a/node_modules/c9/urls_test.js b/node_modules/c9/urls_test.js index ed7dde66..9e5bc0ec 100644 --- a/node_modules/c9/urls_test.js +++ b/node_modules/c9/urls_test.js @@ -120,4 +120,10 @@ describe("urls", function() { var baseUrl = urls.getBaseUrl(input, "https://preview.$DOMAIN", "https://ide.$DOMAIN"); assert.equal(baseUrl, "https://ide.newclient-lennartcl.c9.io"); }); + + it("targetBaseUrlPattern is optional", function() { + var input = "https://preview.newclient-lennartcl.c9.io"; + var baseUrl = urls.getBaseUrl(input, "https://preview.$DOMAIN"); + assert.equal(baseUrl, "https://preview.newclient-lennartcl.c9.io"); + }); }); \ No newline at end of file