From c15a8b481b0c40518c51c8c935c3db519aff6a83 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 10 Apr 2026 18:40:46 +0530 Subject: [PATCH] fix: prevent infinite refresh loops by checking URL in auth interceptor error handler --- frontend/src/api/apiClient.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/frontend/src/api/apiClient.ts b/frontend/src/api/apiClient.ts index d0bb24a..6fbc1c1 100644 --- a/frontend/src/api/apiClient.ts +++ b/frontend/src/api/apiClient.ts @@ -1,4 +1,4 @@ -import axios from "axios"; +import axios, { type AxiosError } from "axios"; const authApiClient = axios.create({ baseURL: `${import.meta.env.VITE_API_URL}/api/auth/`, @@ -10,8 +10,11 @@ const authApiClient = axios.create({ authApiClient.interceptors.response.use( (response) => response, - async (error) => { - if (error.response.status === 401) { + async (error: AxiosError) => { + if ( + error.response.status === 401 && + !error.config.url?.includes("refresh/") + ) { // token expired, refresh it try { const response = await authApiClient.post("refresh/");