import axios from 'axios'; import { getAuthData, authLogout } from '../auth'; // import router from "../router"; import { REST_BASE_URL } from '../conf'; const getAuthHeaders = async () => { const authData = getAuthData(); if (authData?.auth?.token) { return { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token', ...(authData?.auth?.token && { 'x-felicity-user-id': 'felicity-user', 'x-felicity-role': 'felicity-administrator', Authorization: `Bearer ${authData?.auth?.token}`, }), }; } authLogout(); // router.push("/auth") }; const axiosInstance = axios.create({ baseURL: REST_BASE_URL + '/api/v1/', timeout: 1000, headers: await getAuthHeaders(), }); // NEW axios.interceptors.response.use(undefined, function (error) { if (error) { const originalRequest = error.config; if (error.response.status === 401 && !originalRequest._retry) { originalRequest._retry = true; authLogout(); // return router.push("/auth") } } }); export default axiosInstance;