Answers for "axios interceptor"

1

axios.interceptors

window.axios = require('axios');

axios.interceptors.request.use(
    config => {
        /* ---- 'Accept': 'application/json',
        'Authorization': this.token, ---- */
        config.headers['Accept']= 'application/json'

        let token = document.cookie.split(';').find(indice => {
            return indice.includes('token=')
        })

        token = token.split('=')[1]
        token = 'Bearer ' + token

        config.headers.Authorization = token
        console.log('Intercepting the request before sending it', config)
        return config // nxt jwt.php
    },
    error => {
        console.log("Request error: ", error)
        return Promise.reject(error)
    })

axios.interceptors.response.use(
    response => {
        console.log('Intercepting the response before sending it', response)
        return response
    },
    error => {
        console.log("Answer Error: ", error.response)

        if( error.response.status == 401 && error.response.data.message == 'Token has expired')
        {
            console.log('Make a new request for the refresh route!')

            axios.post('http://localhost:8000/api/refresh')
                .then(response => {
                    console.log('Refresh success! ')
                    console.log(response)
                    /*
                        In the first refresh, will be sucess but if I don't save the 
                        token in cookies, in the second refresh I will have the 500 
                        error : 'The token has been blacklisted'
                    */
                   document.cookie = 'token=' + response.data.token
                   console.log('Updated token : ' , response.data)
                   window.location.reload()          
                })
        }
        return Promise.reject(error)
    })
Posted by: Guest on October-13-2021
6

axios request interceptor

// Add a request interceptor
axios.interceptors.request.use(function (config) {
    // Do something before request is sent
    return config;
  }, function (error) {
    // Do something with request error
    return Promise.reject(error);
  });

// Add a response interceptor
axios.interceptors.response.use(function (response) {
    // Any status code that lie within the range of 2xx cause this function to trigger
    // Do something with response data
    return response;
  }, function (error) {
    // Any status codes that falls outside the range of 2xx cause this function to trigger
    // Do something with response error
    return Promise.reject(error);
  });
Posted by: Guest on March-05-2021
6

axios.interceptors.response.use

// Add a response interceptor
HTTP.interceptors.response.use(function (response) {
 return response
}, function(error) {
 if (error.response.status === 401) {
  store.dispatch('logout')
  router.push('/login')
 }
 return Promise.reject(error.response.data)
})
Posted by: Guest on September-17-2020

Code answers related to "axios interceptor"

Browse Popular Code Answers by Language