| import axios, { AxiosInstance, AxiosError } from "axios"; | |
| const baseURL = import.meta.env.VITE_API_URL as string; | |
| const axiosClient: AxiosInstance = axios.create({ | |
| baseURL: `${baseURL}/api/v1`, | |
| }); | |
| axiosClient.interceptors.request.use((request) => { | |
| const auth_token = localStorage.getItem("auth_token"); | |
| if (auth_token) { | |
| request.headers.Authorization = `Bearer ${auth_token}`; | |
| } | |
| return request; | |
| }); | |
| axiosClient.interceptors.response.use( | |
| (response) => response, | |
| (error: AxiosError) => { | |
| if (error.response?.status === 401) { | |
| localStorage.removeItem("auth_token"); | |
| window.location.href = "/signin"; | |
| } | |
| return Promise.reject(error); | |
| } | |
| ); | |
| export default axiosClient; | |