49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import axios from 'axios'
 | 
						|
 | 
						|
// https://github.com/alvar0hurtad0/drupal-vuejs-todo/blob/master/frontend/src/api/axiosInterceptor.js
 | 
						|
 | 
						|
// console.log('drupalSettings', drupalSettings)
 | 
						|
 | 
						|
// axios.interceptors.response.use(
 | 
						|
//   response => {
 | 
						|
//     // console.log('ma-axios interceptor response', response)
 | 
						|
//     return Promise.resolve(response)
 | 
						|
//     // return response
 | 
						|
//   },
 | 
						|
//   error => {
 | 
						|
//     const { status } = error.response
 | 
						|
//     console.warn('error in ma-axios response interceptor, status:', status)
 | 
						|
//     if (status === 403) {
 | 
						|
//       window.location = '/'
 | 
						|
//     }
 | 
						|
//     return Promise.reject(error)
 | 
						|
//   }
 | 
						|
// )
 | 
						|
 | 
						|
const MA = axios.create({
 | 
						|
  baseURL: window.location.origin + '/' + drupalSettings.path.pathPrefix,
 | 
						|
  withCredentials: true,
 | 
						|
  headers: {
 | 
						|
    'Content-Type': 'application/json'
 | 
						|
    // "X-CSRF-Token": "csrf_token"
 | 
						|
  }
 | 
						|
})
 | 
						|
 | 
						|
MA.interceptors.response.use(
 | 
						|
  response => {
 | 
						|
    // console.log('ma-axios interceptor response', response)
 | 
						|
    return Promise.resolve(response)
 | 
						|
    // return response
 | 
						|
  },
 | 
						|
  error => {
 | 
						|
    const { status } = error.response
 | 
						|
    console.warn('error in ma-axios interceptor', status)
 | 
						|
    if (status === 403) {
 | 
						|
      window.location = '/'
 | 
						|
    }
 | 
						|
    return Promise.reject(error)
 | 
						|
  }
 | 
						|
)
 | 
						|
 | 
						|
export default MA
 |