Skip to content

Commit 32d66c9

Browse files
committed
Add Axios setup with request and response interceptors to axiosInstance.js
1 parent 95d5957 commit 32d66c9

File tree

1 file changed

+44
-5
lines changed

1 file changed

+44
-5
lines changed

index.js

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,50 @@ const run = (cmd, cwd = process.cwd()) => {
115115
if (packages.includes("axios")) {
116116
const axiosContent = `import axios from "axios";
117117
118-
export const api = axios.create({
119-
baseURL: import.meta.env.VITE_API_URL || "http://localhost:5000",
120-
headers: { "Content-Type": "application/json" }
121-
});
122-
`;
118+
export const api = axios.create({
119+
baseURL: import.meta.env.VITE_API_URL || "http://localhost:5000",
120+
headers: { "Content-Type": "application/json" },
121+
timeout: 10000
122+
});
123+
124+
// ✅ Request Interceptor
125+
api.interceptors.request.use(
126+
(config) => {
127+
// Example: Add token if available
128+
const token = localStorage.getItem("token");
129+
if (token) {
130+
config.headers.Authorization = \`Bearer \${token}\`;
131+
}
132+
return config;
133+
},
134+
(error) => {
135+
return Promise.reject(error);
136+
}
137+
);
138+
139+
// ✅ Response Interceptor
140+
api.interceptors.response.use(
141+
(response) => {
142+
return response.data; // Return only data for convenience
143+
},
144+
(error) => {
145+
if (error.response) {
146+
console.error("API Error:", error.response.data?.message || error.message);
147+
// Example: Handle unauthorized
148+
if (error.response.status === 401) {
149+
// Optionally redirect to login
150+
window.location.href = "/login";
151+
}
152+
} else if (error.request) {
153+
console.error("No response received from server.");
154+
} else {
155+
console.error("Request setup error:", error.message);
156+
}
157+
return Promise.reject(error);
158+
}
159+
);
160+
`;
161+
123162
fs.writeFileSync(path.join(projectPath, "src", "utils", "axiosInstance.js"), axiosContent);
124163
}
125164

0 commit comments

Comments
 (0)