diff --git a/UI/WebServerResources/js/Common/Common.app.js b/UI/WebServerResources/js/Common/Common.app.js
index 75cf2d617..3a1371e0e 100644
--- a/UI/WebServerResources/js/Common/Common.app.js
+++ b/UI/WebServerResources/js/Common/Common.app.js
@@ -259,38 +259,27 @@
function ErrorInterceptor($rootScope, $q, $injector) {
return {
responseError: function(rejection) {
- // Handle CAS ticket renewal (TODO: add check on usesCASAuthentication)
- if (rejection.status == -1) {
- var deferred = $q.defer();
- var iframe = angular.element('');
-
- iframe.on('load', function() {
- var $http = $injector.get('$http');
-
- if (rejection.config.method == 'GET') {
- $http({
- method: 'GET',
- url: rejection.config.url
- }).then(deferred.resolve, deferred.reject);
- }
- else if (rejection.config.method == 'POST') {
- $http({
- method: 'POST',
- url: rejection.config.url,
- data: rejection.config.data
- }).then(deferred.resolve, deferred.reject);
- }
- });
- document.body.appendChild(iframe[0]);
- return deferred.promise;
- }
- else {
- if (/^application\/json/.test(rejection.config.headers.Accept)) {
- // Broadcast the response error
- $rootScope.$broadcast('http:Error', rejection);
- }
- return $q.reject(rejection);
+ var deferred, iframe;
+ // Handle CAS ticket renewal (TODO: add check on usesCASAuthentication)
+ if (rejection.status == -1) {
+ deferred = $q.defer();
+ iframe = angular.element('');
+ iframe.on('load', function() {
+ // Once the browser has followed the redirection, send the initial request
+ var $http = $injector.get('$http');
+ $http(rejection.config).then(deferred.resolve, deferred.reject);
+ iframe.remove();
+ });
+ document.body.appendChild(iframe[0]);
+ return deferred.promise;
+ }
+ else {
+ if (/^application\/json/.test(rejection.config.headers.Accept)) {
+ // Broadcast the response error
+ $rootScope.$broadcast('http:Error', rejection);
}
+ return $q.reject(rejection);
+ }
}
};
}