Merge branch 'master' into v1.1

Signed-off-by: Laurence Maultsby <laurence.maultsby@riftio.com>
diff --git a/skyquake/framework/core/api_utils/sockets.js b/skyquake/framework/core/api_utils/sockets.js
index 6076594..5e0b25b 100644
--- a/skyquake/framework/core/api_utils/sockets.js
+++ b/skyquake/framework/core/api_utils/sockets.js
@@ -32,17 +32,9 @@
 var url = require('url');
 var sockjs = require('sockjs');
 var websocket_multiplex = require('websocket-multiplex');
+var utils = require('./utils.js');
 
 
-function getPortForProtocol (protocol) {
-  switch (protocol) {
-    case 'http':
-      return 8000;
-    case 'https':
-      return 8443;
-  }
-}
-
 var Subscriptions = function() {
   this.ID = 0;
   this.socketServers = {};
@@ -85,7 +77,7 @@
     var origin = '';
     if (req.query['api_server']) {
       var api_server_protocol = req.query['api_server'].match(protocolTest)[1];
-      var api_server_origin = req.query['api_server'] + ':' + getPortForProtocol(api_server_protocol);
+      var api_server_origin = req.query['api_server'] + ':' + utils.getPortForProtocol(api_server_protocol);
       origin = api_server_origin;
       protocol = api_server_protocol;
     } else {
diff --git a/skyquake/framework/core/api_utils/utils.js b/skyquake/framework/core/api_utils/utils.js
index 0d1990c..5b17279 100644
--- a/skyquake/framework/core/api_utils/utils.js
+++ b/skyquake/framework/core/api_utils/utils.js
@@ -217,6 +217,15 @@
 	});
 }
 
+var getPortForProtocol = function(protocol) {
+  switch (protocol) {
+    case 'http':
+      return 8000;
+    case 'https':
+      return 8443;
+  }
+}
+
 module.exports = {
 	/**
 	 * Ensure confd port is on api_server variable.
@@ -233,5 +242,7 @@
 
 	sendSuccessResponse: sendSuccessResponse,
 
-    passThroughConstructor: passThroughConstructor
+    passThroughConstructor: passThroughConstructor,
+
+    getPortForProtocol: getPortForProtocol
 };
diff --git a/skyquake/plugins/composer/api/composer.js b/skyquake/plugins/composer/api/composer.js
index a2355ab..13fd0dd 100644
--- a/skyquake/plugins/composer/api/composer.js
+++ b/skyquake/plugins/composer/api/composer.js
@@ -312,7 +312,7 @@
     var download_host = req.query['dev_download_server'];
 
     if (!download_host) {
-        download_host = req.protocol + '://' + req.headers.host;
+        download_host = api_server + ':' + utils.getPortForProtocol(req.protocol);
     }
     var input = {
         'external-url': download_host + '/composer/update/' + req.file.filename,
@@ -368,7 +368,7 @@
     var download_host = req.query['dev_download_server'];
 
     if (!download_host) {
-        download_host = req.protocol + '://' + req.headers.host;
+        download_host = api_server + ':' + utils.getPortForProtocol(req.protocol);
     }
 
     return new Promise(function(resolve, reject) {
@@ -425,7 +425,7 @@
     var package_type = req.query['package_type'].toUpperCase();
     var package_path = req.query['package_path'];
     if (!download_host) {
-        download_host = req.protocol + '://' + req.headers.host;
+        download_host = api_server + ':' + utils.getPortForProtocol(req.protocol);
     }
 
     return new Promise(function(resolve, reject) {
diff --git a/skyquake/plugins/composer/src/src/libraries/utils.js b/skyquake/plugins/composer/src/src/libraries/utils.js
index a182b1a..1d54a6f 100644
--- a/skyquake/plugins/composer/src/src/libraries/utils.js
+++ b/skyquake/plugins/composer/src/src/libraries/utils.js
@@ -290,7 +290,7 @@
 					for (let subKey in catalogs[key]) {
 						let found = _.find(catalogs[key][subKey], {id: fieldKeyArray[0]});
 						if (found) {
-							results = this.getResults(found, pathArray.splice(-i, i));
+							results = this.getAbsoluteResults(found, pathArray.splice(-i, i));
 							return results;
 						}
 					}
@@ -303,7 +303,7 @@
 							for (let foundKey in found) {
 								let topLevel = _.find(found[foundKey], {id: fieldKeyArray[1]});
 								if (topLevel) {
-									results = this.getResults(topLevel, pathArray.splice(-i, i));
+									results = this.getAbsoluteResults(topLevel, pathArray.splice(-i, i));
 									return results;
 								}
 							}