AutorÃa | Ultima modificación | Ver Log |
import Axios from "axios";
let axios = Axios.create({
baseURL: '',
});
axios.get = (_url, params = {}) => {
let url = _url
if (!_url.includes('t=')) {
if (_url.includes('?'))
url += '&'
else
url += '?'
url += 't=' + new Date().getTime()
}
return Axios.get(url, {
headers: {
'Accept': 'application/json',
'Vary': 'Accept',
'Cache-Control': 'no-cache, no-store'
},
params
});
}
axios.all = Axios.all;
axios.spread = Axios.spread;
axios.upload = (url, data) => {
return axios.post(url, createFormData(data), {
headers: {
'Content-Type': 'multipart/form-data'
}
});
}
axios.interceptors.request.use(
async (request) => {
if (['post', 'put', 'delete'].includes(request.method)) {
try {
const resp = await axios.get('/csrf')
if (resp.data.success) {
request.headers['X-CSRF-TOKEN'] = resp.data.data
return request;
}
}
catch (err) {
throw new Error(`Axios problem with request during pre-flight phase: ${err}.`);
}
}
},
(error) => {
return Promise.reject(error);
}
);
export default axios