Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev 2221 Rev 3396
Línea 10... Línea 10...
10
    this.#client.interceptors.request.use(
10
    this.#client.interceptors.request.use(
11
      async (request) => {
11
      async (request) => {
12
        const token = window.localStorage.getItem('jwt')
12
        const token = window.localStorage.getItem('jwt')
Línea 13... Línea 13...
13
 
13
 
14
        if (token) {
14
        if (token) {
-
 
15
          request.headers.Authorization =
-
 
16
            request.method === 'get' && request.url === '/signin'
-
 
17
              ? ''
15
          request.headers.Authorization = 'Bearer ' + token
18
              : `Bearer ${token}`
Línea 16... Línea 19...
16
        }
19
        }
17
 
20
 
-
 
21
        const contentType =
18
        if (request.method === 'get') {
22
          request.method === 'post' ? 'multipart/form-data' : 'application/json'
19
          request.headers['Content-Type'] = 'application/json'
-
 
Línea 20... Línea 23...
20
          return request
23
 
21
        }
-
 
22
 
-
 
23
        if (['post', 'put', 'delete'].includes(request.method)) {
24
        request.headers['Content-Type'] = contentType
24
          try {
-
 
25
            const { data: responseData } = await this.#client.get('/csrf')
-
 
26
            const { data, success } = responseData
25
 
27
 
-
 
28
            if (success) {
-
 
29
              request.headers['X-CSRF-TOKEN'] = data
-
 
30
              return request
-
 
31
            }
-
 
32
          } catch (err) {
-
 
33
            throw new Error(
-
 
34
              `Axios problem with request during pre-flight phase: ${err}.`
26
        if (request.method !== 'get') {
Línea 35... Línea 27...
35
            )
27
          const csrfToken = await getCsrfToken()
36
          }
28
          request.headers['X-CSRF-TOKEN'] = csrfToken
37
        }
29
        }
Línea 59... Línea 51...
59
    )
51
    )
Línea 60... Línea 52...
60
 
52
 
61
    this.#abortController = new AbortController()
53
    this.#abortController = new AbortController()
Línea -... Línea 54...
-
 
54
  }
-
 
55
 
-
 
56
  async getCsrfToken() {
-
 
57
    const response = await this.#client.get('/csrf')
-
 
58
    const { data: csrfToken, success } = response.data
-
 
59
    if (!success) throw new Error('Error al obtener el CSRF token')
-
 
60
    return csrfToken
62
  }
61
  }
63
 
62
 
64
  setBaseURL(baseURL = '') {
63
  setBaseURL(baseURL = '') {
65
    if (typeof baseURL !== 'string') {
64
    if (typeof baseURL !== 'string') {
66
      throw new Error('baseURL must be a string')
65
      throw new Error('baseURL must be a string')