diff --git a/packages/core/email/admin/src/pages/Settings/utils/api.js b/packages/core/email/admin/src/pages/Settings/utils/api.js index e9d5f7c37f..557a51d5d3 100644 --- a/packages/core/email/admin/src/pages/Settings/utils/api.js +++ b/packages/core/email/admin/src/pages/Settings/utils/api.js @@ -1,4 +1,4 @@ -import { axiosInstance } from '../../../../../../admin/admin/src/core/utils'; +import axiosInstance from '../../../utils/axiosInstance'; const fetchEmailSettings = async () => { const { data } = await axiosInstance.get('/email/settings'); diff --git a/packages/core/email/admin/src/utils/axiosInstance.js b/packages/core/email/admin/src/utils/axiosInstance.js new file mode 100644 index 0000000000..78b0aae814 --- /dev/null +++ b/packages/core/email/admin/src/utils/axiosInstance.js @@ -0,0 +1,36 @@ +import axios from 'axios'; +import { auth } from '@strapi/helper-plugin'; + +const instance = axios.create({ + baseURL: process.env.STRAPI_ADMIN_BACKEND_URL, +}); + +instance.interceptors.request.use( + async config => { + config.headers = { + Authorization: `Bearer ${auth.getToken()}`, + Accept: 'application/json', + 'Content-Type': 'application/json', + }; + + return config; + }, + error => { + Promise.reject(error); + } +); + +instance.interceptors.response.use( + response => response, + error => { + // whatever you want to do with the error + if (error.response?.status === 401) { + auth.clearAppStorage(); + window.location.reload(); + } + + throw error; + } +); + +export default instance;