You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
5 years ago
|
import axios from "axios";
|
||
|
import { TokenService } from "@Global/services/storage.services";
|
||
|
import ApiService from "@Global/services/api.services";
|
||
|
import store from "@Core/store/index";
|
||
|
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(error.response.status == 401) {
|
||
|
TokenService.removeToken();
|
||
|
ApiService.removeAuthHeader();
|
||
|
store.commit('auth/logout', {}, {root: true})
|
||
|
window.location.href = '/Login';
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
function successHandler(response) {
|
||
|
// if(response.status == 200) {
|
||
|
// if(typeof response.data.message !== 'undefined') {
|
||
|
// toast.success(response.data.message, response.data.title);
|
||
|
// }
|
||
|
// }
|
||
|
return response;
|
||
|
}
|
||
|
|
||
|
// apply interceptor on response
|
||
|
axios.interceptors.response.use(successHandler, errorResponseHandler);
|
||
|
|
||
|
export default errorResponseHandler;
|