Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 215 | Rev 1076 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

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