axios interceptors – response errors

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