1 changed files with 28 additions and 23 deletions
@ -1,44 +1,49 @@ |
|||
import axios from 'axios' |
|||
import axios from "axios"; |
|||
|
|||
const instance = axios.create({ |
|||
baseURL: import.meta.env.VITE_API_URL || 'http://localhost:5091/api/god/', |
|||
baseURL: import.meta.env.VITE_API_URL || "http://localhost:5091/api/god/", |
|||
timeout: 10000, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
"Content-Type": "application/json", |
|||
}, |
|||
}); |
|||
|
|||
instance.interceptors.request.use( |
|||
(config) => { |
|||
const token = localStorage.getItem('auth_token') |
|||
const token = localStorage.getItem("auth_token"); |
|||
if (token) { |
|||
config.headers.Authorization = `Bearer ${token}` |
|||
config.headers.Authorization = `Bearer ${token}`; |
|||
} |
|||
return config |
|||
return config; |
|||
}, |
|||
(error) => Promise.reject(error) |
|||
) |
|||
(error) => Promise.reject(error), |
|||
); |
|||
|
|||
instance.interceptors.response.use( |
|||
(response) => response.data, |
|||
(error) => { |
|||
if (error.response?.status === 401) { |
|||
localStorage.removeItem('auth_token') |
|||
localStorage.removeItem('user') |
|||
window.location.href = '/login' |
|||
localStorage.removeItem("auth_token"); |
|||
localStorage.removeItem("user"); |
|||
window.location.href = "/login"; |
|||
} |
|||
if (error.code === 'ERR_NETWORK' || error.code === 'ECONNABORTED' || !error.response) { |
|||
window.location.href = '/404' |
|||
if (error.response?.status === 404) { |
|||
window.location.href = "/404"; |
|||
} |
|||
const responseData = error.response?.data |
|||
if (typeof responseData === 'string') { |
|||
return Promise.reject({ data: responseData, message: responseData }) |
|||
const responseData = error.response?.data; |
|||
if (typeof responseData === "string") { |
|||
return Promise.reject({ data: responseData, message: responseData }); |
|||
} |
|||
if (responseData?.message) { |
|||
return Promise.reject({ data: responseData.message, message: responseData.message }) |
|||
return Promise.reject({ |
|||
data: responseData.message, |
|||
message: responseData.message, |
|||
}); |
|||
} |
|||
return Promise.reject(error.response?.data || { data: error.message, message: error.message }) |
|||
} |
|||
) |
|||
return Promise.reject( |
|||
error.response?.data || { data: error.message, message: error.message }, |
|||
); |
|||
}, |
|||
); |
|||
|
|||
export default instance |
|||
export default instance; |
|||
|
|||
Loading…
Reference in new issue