From 8bcc93b690653c212082b37d0afaf526981af10d Mon Sep 17 00:00:00 2001 From: Masayuki Igawa Date: Fri, 14 Jul 2017 16:00:33 +0900 Subject: [PATCH] Trust resource URLs in health-api for various environments This commit makes resource the URLs in health-api.js for various environments such as in local development environments, downstream environments. The URLs should be trusted because the apiRoot value comes from the config. If you'd like to know more details of $scedelegateprovider, you can see the documents at angularjs site[1]. [1] https://docs.angularjs.org/api/ng/provider/$sceDelegateProvider Change-Id: Iec67c1a5236c9c8febfc83188db71754f895bff6 --- app/js/services/health-api.js | 119 +++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 53 deletions(-) diff --git a/app/js/services/health-api.js b/app/js/services/health-api.js index 8fc68c3e..0d8ea639 100644 --- a/app/js/services/health-api.js +++ b/app/js/services/health-api.js @@ -57,91 +57,101 @@ servicesModule.config(httpProviderInterceptor); /** * @ngInject */ -function HealthService($http, config) { +function HealthService($http, config, $sce) { var service = {}; service.getRunsFromBuildName = function(buildName) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/build_name/' + buildName + '/runs', { - params: { - } - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/build_name/' + buildName + '/runs'), { + params: { + } + }); }); }; service.getTestsFromBuildName = function(buildName, options) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/build_name/' + buildName + '/test_runs', { - cache: true, - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/build_name/' + buildName + '/test_runs'), { + cache: true, + params: angular.extend(options) + }); }); }; service.getRunsGroupedByMetadataPerDatetime = function(key, options) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/runs/group_by/' + key, { - cache: true, - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/runs/group_by/' + key), { + cache: true, + params: angular.extend(options) + }); }); }; service.getRuns = function(options) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/runs', { - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/runs'), { + params: angular.extend(options) + }); }); }; service.getRunsForRunMetadataKey = function(runMetadataKey, value, options) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/runs/key/' + runMetadataKey + '/' + value, { - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/runs/key/' + runMetadataKey + '/' + value), { + params: angular.extend(options) + }); }); }; service.getTestsFromRun = function(runId) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/run/' + runId + '/tests', { - params: {} - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/run/' + runId + '/tests'), { + params: {} + }); }); }; service.getRunTestRuns = function(runId) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/run/' + runId + '/test_runs', { - params: {} - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/run/' + runId + '/test_runs'), { + params: {} + }); }); }; service.getTests = function() { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/tests', { - cache: true, - params: {} - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/tests'), { + cache: true, + params: {} + }); }); }; service.getRunMetadataKeys = function() { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/runs/metadata/keys', { - cache: true, - params: {} - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/runs/metadata/keys'), { + cache: true, + params: {} + }); }); }; service.getTestRunList = function(testId, options) { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/test_runs/' + testId, { - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/test_runs/' + testId), { + params: angular.extend(options) + }); }); }; @@ -149,30 +159,32 @@ function HealthService($http, config) { options = options || {}; return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/runs/key/' + runMetadataKey + '/' + value + '/recent', { - cache: true, - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/runs/key/' + runMetadataKey + '/' + value + '/recent'), { + cache: true, + params: angular.extend(options) + }); }); }; service.getRecentFailedTests = function(options) { options = options || {}; - return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/tests/recent/fail', { - cache: true, - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/tests/recent/fail'), { + cache: true, + params: angular.extend(options) + }); }); }; service.getTestPrefixes = function() { return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/tests/prefix', { - cache: true, - params: {} - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/tests/prefix'), { + cache: true, + params: {} + }); }); }; @@ -180,10 +192,11 @@ function HealthService($http, config) { options = options || {}; return config.get().then(function(config) { - return $http.jsonp(config.apiRoot + '/tests/prefix/' + prefix, { - cache: true, - params: angular.extend(options) - }); + return $http.jsonp($sce.trustAsResourceUrl( + config.apiRoot + '/tests/prefix/' + prefix), { + cache: true, + params: angular.extend(options) + }); }); };