Define validation for response error

This commit is contained in:
marzban-dev
2025-01-13 21:12:24 +03:30
parent e602ad755a
commit 895795d279
+32 -12
View File
@@ -1,23 +1,43 @@
import axios from "axios"; import axiosOriginal from "axios";
import { API_ENDPOINTS } from "~/constants";
export default defineNuxtPlugin(() => { export default defineNuxtPlugin(() => {
const config = useRuntimeConfig() const config = useRuntimeConfig();
const { logout } = useAuth();
const axiosInstance = axios.create({ const axios = axiosOriginal.create({
baseURL: config.public.API_BASE_URL, baseURL: config.public.API_BASE_URL
timeout: 20000,
timeoutErrorMessage: 'خطای سرور',
headers: {
'Content-Type': 'application/json'
}
}); });
axiosInstance.interceptors.response.use()
axios.interceptors.request.use((config) => {
if (
!config.url?.includes(API_ENDPOINTS.auth.signin) &&
!config.url?.includes(API_ENDPOINTS.account.send_otp)
) {
const { token } = useAuth();
config.headers.Authorization = `Bearer ${token.value}`;
}
return config;
});
axios.interceptors.response.use((response) => {
return response;
}, function(error) {
if (error.status === 401) {
logout();
}
return Promise.reject(error);
});
return { return {
provide: { provide: {
axios: axiosInstance, axios
}, }
}; };
}); });