diff --git a/UI/src/app/_components/settings/settings.component.html b/UI/src/app/_components/settings/settings.component.html
index 68793ba5..ce304ec8 100644
--- a/UI/src/app/_components/settings/settings.component.html
+++ b/UI/src/app/_components/settings/settings.component.html
@@ -927,6 +927,13 @@
+
+
+
+
diff --git a/src/_models/CloudDestination.ts b/src/_models/CloudDestination.ts
index 78c07d9f..4d6c1a82 100644
--- a/src/_models/CloudDestination.ts
+++ b/src/_models/CloudDestination.ts
@@ -1,5 +1,6 @@
export interface CloudDestination {
connected: boolean;
+ protocol: string;
host: string;
id: string;
key: string;
diff --git a/src/_models/CloudDestinationSocket.ts b/src/_models/CloudDestinationSocket.ts
index 79c7a1d6..52d13d43 100644
--- a/src/_models/CloudDestinationSocket.ts
+++ b/src/_models/CloudDestinationSocket.ts
@@ -3,6 +3,7 @@ import { Socket } from 'socket.io-client';
export interface CloudDestinationSocket {
id: string;
socket: Socket;
+ protocol: string;
host: string;
port: string;
key: string;
diff --git a/src/index.ts b/src/index.ts
index 718237ef..e4b2dcab 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1202,6 +1202,12 @@ function loadConfig() { // loads the JSON data from the config file to memory
if (currentConfig.cloud_destinations) {
cloud_destinations = currentConfig.cloud_destinations;
+ cloud_destinations.forEach((d) => {
+ if(!d.protocol) {
+ d.protocol = 'http';
+ SaveConfig();
+ }
+ });
logger('Tally Arbiter Cloud Destinations loaded.', 'info');
}
else {
@@ -1478,6 +1484,7 @@ function StartCloudDestination(cloudDestinationId) {
let cloudDestinationSocketObj = {
id: cloudDestinationId,
socket: null,
+ protocol: cloud_destination.protocol,
host: cloud_destination.host,
port: cloud_destination.port,
key: cloud_destination.key,
@@ -1486,12 +1493,14 @@ function StartCloudDestination(cloudDestinationId) {
for (let i = 0; i < cloud_destinations_sockets.length; i++) {
if (cloud_destinations_sockets[i].id === cloudDestinationId) {
- logger(`Cloud Destination: ${cloud_destinations_sockets[i].host}:${cloud_destinations_sockets[i].port} Initiating Connection.`, 'info-quiet');
+ let cloud_destination_uri = `${cloud_destinations_sockets[i].protocol}://${cloud_destinations_sockets[i].host}:${cloud_destinations_sockets[i].port}`;
+
+ logger(`Cloud Destination: ${cloud_destination_uri} Initiating Connection.`, 'info-quiet');
- cloud_destinations_sockets[i].socket = ioClient('http://' + cloud_destinations_sockets[i].host + ':' + cloud_destinations_sockets[i].port, {reconnection: true});
+ cloud_destinations_sockets[i].socket = ioClient(cloud_destination_uri, {reconnection: true});
cloud_destinations_sockets[i].socket.on('connect', () => {
- logger(`Cloud Destination: ${cloud_destinations_sockets[i].host}:${cloud_destinations_sockets[i].port} Connected. Sending Initial Data.`, 'info-quiet');
+ logger(`Cloud Destination: ${cloud_destination_uri} Connected. Sending Initial Data.`, 'info-quiet');
cloud_destinations_sockets[i].connected = true;
SetCloudDestinationStatus(cloud_destinations_sockets[i].id, 'connected');
cloud_destinations_sockets[i].socket.emit('cloud_client', cloud_destinations_sockets[i].key);
@@ -2022,6 +2031,9 @@ function TallyArbiter_Delete_Bus_Option(obj: Manage): ManageResponse {
function TallyArbiter_Add_Cloud_Destination(obj: Manage): ManageResponse {
let cloudObj = obj.cloudDestination;
cloudObj.id = uuidv4();
+ if(!cloudObj.protocol) {
+ cloudObj.protocol = 'http';
+ }
cloud_destinations.push(cloudObj);
logger(`Cloud Destination Added: ${cloudObj.host}:${cloudObj.port}`, 'info');