UNPKG

client-ui

Version:

Testing implementation of nodeJs Backend, angular frontend, and hopefully in a way that this can be deployed to s3/cloudfront

52 lines (47 loc) 1.67 kB
/* global moduleName window $ */ angular.module(moduleName).service('serviceRouter', ['$q', '$http', 'rootConstants', function ($q, $http, rootConstants) { var self = this; self.numTries = { }; self.maxTries = { default: 5 }; function getScriptMode(serviceName) { var deferred = $q.defer(); if (rootConstants.production) { deferred.resolve("production"); } else { $http.get(rootConstants.server + "getServiceMode/" + serviceName) .then(function(output) { deferred.resolve(output.data); }, function(error) { deferred.reject(error.data); }); } return deferred.promise; } function getScriptContent(serviceUrl, serviceName) { self.numTries[serviceName] = 0; if (!self.maxTries[serviceName]) { self.maxTries[serviceName] = self.maxTries["default"]; } return attemptLoadFile(serviceUrl, serviceName); } function attemptLoadFile(filename, serviceName) { var deferred = $q.defer(); if (self.numTries[serviceName]++ < self.maxTries[serviceName]) { $.getScript(filename) .done(function() { deferred.resolve(); }) .error(function() { deferred.resolve(attemptLoadFile(filename, serviceName)); }); } else { deferred.reject("Could not load file"); } return deferred.promise; } self.getScriptContent = getScriptContent; self.getScriptMode = getScriptMode; }]);