Define validation for response error
This commit is contained in:
+32
-12
@@ -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
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user