25 lines
		
	
	
		
			650 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			650 B
		
	
	
	
		
			JavaScript
		
	
	
	
| import axios from 'axios';
 | |
| import csrf from './csrf';
 | |
| 
 | |
| axios.defaults.headers.common[csrf.headerKey] = csrf.token;
 | |
| // Used by Rails to check if it is a valid XHR request
 | |
| axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
 | |
| 
 | |
| // Maintain a global counter for active requests
 | |
| // see: spec/support/wait_for_requests.rb
 | |
| axios.interceptors.request.use((config) => {
 | |
|   window.activeVueResources = window.activeVueResources || 0;
 | |
|   window.activeVueResources += 1;
 | |
| 
 | |
|   return config;
 | |
| });
 | |
| 
 | |
| // Remove the global counter
 | |
| axios.interceptors.response.use((config) => {
 | |
|   window.activeVueResources -= 1;
 | |
| 
 | |
|   return config;
 | |
| });
 | |
| 
 | |
| export default axios;
 |