import axios from "axios"; import toast from "./toast.service"; import {TokenService, ApiService} from '@/services'; function errorResponseHandler(error) { // check for errorHandle config if ( error.config.hasOwnProperty("errorHandle") && error.config.errorHandle === false ) { return Promise.reject(error); } // if has response show the error if (error.response) { if(typeof error.response.data.errors !== 'undefined') { for (const key in error.response.data.errors) { if (error.response.data.errors.hasOwnProperty(key)) { toast.error(error.response.data.errors[key]); } } } if(error.response.status == 401) { TokenService.removeToken(); TokenService.removeRefreshToken(); TokenService.removeInfo(); ApiService.removeAuthHeader(); } } } function successHandler(response) { if(response.data == 200) { if(typeof response.data.message !== 'undefined') { toast.success(response.data.message); } } return response; } // apply interceptor on response axios.interceptors.response.use(successHandler, errorResponseHandler); export default errorResponseHandler;