How can I get an axios interceptor to retry the original request? How can I get an axios interceptor to retry the original request? vue.js vue.js

How can I get an axios interceptor to retry the original request?


You could do something like this:

axios.interceptors.response.use(function (response) {  return response;}, function (error) {  const originalRequest = error.config;  if (error.response.status === 401 && !originalRequest._retry) {    originalRequest._retry = true;    const refreshToken = window.localStorage.getItem('refreshToken');    return axios.post('http://localhost:8000/auth/refresh', { refreshToken })      .then(({data}) => {        window.localStorage.setItem('token', data.token);        window.localStorage.setItem('refreshToken', data.refreshToken);        axios.defaults.headers.common['Authorization'] = 'Bearer ' + data.token;        originalRequest.headers['Authorization'] = 'Bearer ' + data.token;        return axios(originalRequest);      });  }  return Promise.reject(error);});