Resolving Bug 155
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 8df1a91..dde9bcd 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) {