Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 1078 | Rev 3651 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
import Axios from "axios";
2
 
3
let axios = Axios.create({
4
  baseURL: '',
5
});
1075 stevensc 6
 
7
axios.get = (_url, params = {}) => {
8
  let url = _url
9
  if (!_url.includes('t=')) {
10
    if (_url.includes('?'))
11
      url += '&'
12
    else
13
      url += '?'
14
    url += 't=' + new Date().getTime()
15
  }
16
  return Axios.get(url, {
17
    headers: {
18
      'Accept': 'application/json',
19
      'Vary': 'Accept',
20
      'Cache-Control': 'no-cache, no-store'
21
    },
22
    params
23
  });
1 www 24
}
1075 stevensc 25
 
1 www 26
axios.all = Axios.all;
27
axios.spread = Axios.spread;
1075 stevensc 28
axios.upload = (url, data) => {
29
  return axios.post(url, createFormData(data), {
1 www 30
    headers: {
215 steven 31
      'Content-Type': 'multipart/form-data'
32
    }
1 www 33
  });
34
}
1075 stevensc 35
 
1 www 36
axios.interceptors.request.use(
1075 stevensc 37
  async (request) => {
1076 stevensc 38
    if (['post', 'put', 'delete'].includes(request.method)) {
1075 stevensc 39
      try {
40
        const resp = await axios.get('/csrf')
41
        if (resp.data.success) {
42
          request.headers['X-CSRF-TOKEN'] = resp.data.data
1080 stevensc 43
 
1076 stevensc 44
          return request;
1075 stevensc 45
        }
213 steven 46
      }
1075 stevensc 47
      catch (err) {
48
        throw new Error(`Axios problem with request during pre-flight phase: ${err}.`);
49
      }
211 steven 50
    }
1 www 51
  },
52
  (error) => {
53
    return Promise.reject(error);
54
  }
55
);
56
export default axios