From 21b4ebe9e4bafa8a43dd9b859fb6529067b9c5ed Mon Sep 17 00:00:00 2001 From: Simo Kinnunen Date: Fri, 6 Feb 2015 12:23:12 +0900 Subject: [PATCH] Ensure we add 'http://' to URLs even when a username is used. --- lib/units/device/plugins/browser.js | 8 ++++++++ .../dashboard/navigation/navigation-controller.js | 7 +++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/units/device/plugins/browser.js b/lib/units/device/plugins/browser.js index 7d869ba8..07bbda0e 100644 --- a/lib/units/device/plugins/browser.js +++ b/lib/units/device/plugins/browser.js @@ -67,9 +67,17 @@ module.exports = syrup.serial() .then(updateBrowsers) } + function ensureHttpProtocol(url) { + // Check for '://' because a protocol-less URL might include + // a username:password combination. + return (url.indexOf('://') === -1 ? 'http://' : '') + url + } + service.on('browserPackageChange', updateBrowsers) router.on(wire.BrowserOpenMessage, function(channel, message) { + message.url = ensureHttpProtocol(message.url) + if (message.browser) { log.info('Opening "%s" in "%s"', message.url, message.browser) } diff --git a/res/app/control-panes/dashboard/navigation/navigation-controller.js b/res/app/control-panes/dashboard/navigation/navigation-controller.js index 4e837329..390bb072 100644 --- a/res/app/control-panes/dashboard/navigation/navigation-controller.js +++ b/res/app/control-panes/dashboard/navigation/navigation-controller.js @@ -24,10 +24,9 @@ module.exports = function NavigationCtrl($scope, $rootScope) { } function addHttp(textUrl) { - if (textUrl.indexOf(':') === -1 && textUrl.indexOf('.') !== -1) { - return 'http://' + textUrl - } - return textUrl + // Check for '://' because a protocol-less URL might include + // a username:password combination. + return (textUrl.indexOf('://') === -1 ? 'http://' : '') + textUrl } $scope.blurUrl = false