PluginProbe
Extendify / 0.10.1
Extendify v0.10.1
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
extendify / src / Onboarding / api / axios.js

axios.js in Extendify 0.10.1, at src/Onboarding/api/axios.js

49 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import axios from 'axios'
2 import { Sentry } from '@onboarding/hooks/useSentry'
3
4 const Axios = axios.create({
5 baseURL: window.extOnbData.root,
6 headers: {
7 'X-WP-Nonce': window.extOnbData.nonce,
8 'X-Requested-With': 'XMLHttpRequest',
9 'X-Extendify-Onboarding': true,
10 'X-Extendify': true,
11 },
12 })
13
14 Axios.interceptors.request.use(
15 (request) => checkDevMode(request),
16 (error) => error,
17 )
18 Axios.interceptors.response.use(
19 (response) => findResponse(response),
20 (error) => handleErrors(error),
21 )
22
23 const findResponse = (response) => {
24 return Object.prototype.hasOwnProperty.call(response, 'data')
25 ? response.data
26 : response
27 }
28
29 const handleErrors = (error) => {
30 if (!error.response) {
31 return
32 }
33 Sentry.captureException(error, {
34 level: error.response.status === 429 ? 'warning' : 'error',
35 })
36 console.error(error.response)
37 return Promise.reject(findResponse(error.response))
38 }
39
40 const checkDevMode = (request) => {
41 request.headers['X-Extendify-Onboarding-Dev-Mode'] =
42 window.location.search.indexOf('DEVMODE') > -1
43 request.headers['X-Extendify-Onboarding-Local-Mode'] =
44 window.location.search.indexOf('LOCALMODE') > -1
45 return request
46 }
47
48 export { Axios }
49