(function () { "use strict"; angular .module('codeAPLEBOX.client.models.auth') .factory('AuthInterceptor', AuthInterceptor); /* @ngInject */ function AuthInterceptor($q, $cookies, $injector) { return { // Add authorization token to headers request: function (config) { config.headers = config.headers || {}; // $log.debug('test interceptor'); if ($cookies.get('token')) { config.headers.Authorization = 'Bearer ' + $cookies.get('token'); } // config.timout = 60*10*1000; return config; }, // Intercept 401s and redirect you to login responseError: function (response) { console.log(response.status) if (response.status === 401) { console.log(response); if(response.data == 'ManagerUnauthorized'){ $injector.get('$state').go('error.401_1'); // Auth.logout(); }else{ $injector.get('$state').go('error.401'); // remove any stale tokens $cookies.remove('token'); // Auth.logout(); } }else if (response.status === 404) { $injector.get('$state').go('error.404'); }else if (response.status === 500) { $injector.get('$state').go('error.500'); }else { return $q.reject(response); } } } } })();