File size: 714 Bytes
75706d4 3576188 75706d4 3576188 75706d4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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;
|