axios.interceptors.response.use(function (response) {
// Do something with response data
return response;
},
function (error) {
const status = error.response ? error.response.status : null
var config = error.config;
console.log(config);
console.log(status);
error.config.__isRetryRequest = false;
if (status === 500) { //500 Internal Server Error
console.log('kartoti');
error.config.__isRetryRequest = true;
return axios(error.config);
}
if (status === 419) { //authorization
window.location.href = "login";
}
if (status === 401) { //authorization
window.location.href = "login";
//axios(config);
//axios.request(config);
}
return Promise.reject(error);
});
function retryFailedRequest (err) {
if (err.status === 500 && err.config && !err.config.__isRetryRequest) {
err.config.__isRetryRequest = true;
return axios(err.config);
}
throw err;
}
axios.interceptors.response.use(undefined, retryFailedRequest);
Axios interceptors and asynchronous login
HAS DEMO
https://stackoverflow.com/questions/35900230/axios-interceptors-and-asynchronous-login