import axios from "axios"; import keycloak from "./keycloak"; export const baseUrl = process.env.NEXT_PUBLIC_BASE_URL; const axiosInstance = axios.create({ baseURL: baseUrl, }); axiosInstance.interceptors.request.use( async (config) => { // if (keycloak?.authenticated) { // config.headers.Authorization = `Bearer ${keycloak.token}`; // await keycloak.updateToken(30); // } return config; }, (error) => Promise.reject(error), ); axiosInstance.interceptors.response.use( (response) => response, async (error) => { const originalRequest = error.config; // if (error?.response?.status === 401 && !originalRequest._retry) { // originalRequest._retry = true; // keycloak.login(); // try { // await keycloak.updateToken(30); // const newToken = keycloak.token; // if (newToken) { // originalRequest.headers["Authorization"] = `Bearer ${newToken}`; // return axiosInstance(originalRequest); // } // } catch (refreshError) { // localStorage.removeItem("access_account"); // keycloak.logout({ redirectUri: window.location.origin }); // } // } return Promise.reject(error); }, ); // ✅ Fetcher for GET (used in SWR) export const fetcher = async (url) => { const fullUrl = url.startsWith("http") ? url : `${baseUrl}${url}`; const resp = await axiosInstance.get(fullUrl); return resp.data; }; export default axiosInstance;