init commit

This commit is contained in:
2025-07-07 00:52:41 +05:30
commit 2dd24927bc
81 changed files with 10274 additions and 0 deletions

View File

@ -0,0 +1,48 @@
import axios from "axios";
import { BASE_URL } from "./apiPaths";
const axiosInstance = axios.create({
baseURL: BASE_URL,
timeout: 10000,
headers: {
"Content-Type": "application/json",
Accept: "application/json",
},
});
// Request Interceptor
axiosInstance.interceptors.request.use(
(config) => {
const accessToken = localStorage.getItem("token");
if (accessToken) {
config.headers.Authorization = `Bearer ${accessToken}`;
}
return config;
},
(error) => {
return Promise.reject(error);
}
);
// Response Interceptor
axiosInstance.interceptors.response.use(
(response) => {
return response;
},
(error) => {
// Handle common errors globally
if (error.response) {
if (error.response.status === 401) {
// Redirect to login page
window.location.href = "/";
} else if (error.response.status === 500) {
console.error("Server error. Please try again later.");
}
} else if (error.code === "ECONNABORTED") {
console.error("Request timeout. Please try again.");
}
return Promise.reject(error);
}
);
export default axiosInstance;