import ngModule from '../module'; import HttpError from 'core/lib/http-error'; interceptor.$inject = ['$q', 'vnApp', 'vnToken', '$translate']; function interceptor($q, vnApp, vnToken, $translate) { return { request: function(config) { vnApp.pushLoader(); if (vnToken.token) config.headers.Authorization = vnToken.token; if ($translate.use()) config.headers['Accept-Language'] = $translate.use(); return config; }, requestError: function(rejection) { return $q.reject(rejection); }, response: function(response) { vnApp.popLoader(); return response; }, responseError: function(rejection) { vnApp.popLoader(); let err = new HttpError(rejection.statusText); Object.assign(err, rejection); return $q.reject(err); } }; } ngModule.factory('vnInterceptor', interceptor);