| import axios, { type AxiosResponse } from 'axios' | |
| import { useAuthStore } from '@/store' | |
| const service = axios.create({ | |
| baseURL: import.meta.env.VITE_GLOB_API_URL, | |
| }) | |
| service.interceptors.request.use( | |
| (config) => { | |
| const token = useAuthStore().token | |
| if (token) | |
| config.headers.Authorization = `Bearer ${token}` | |
| return config | |
| }, | |
| (error) => { | |
| return Promise.reject(error.response) | |
| }, | |
| ) | |
| service.interceptors.response.use( | |
| (response: AxiosResponse): AxiosResponse => { | |
| if (response.status === 200) | |
| return response | |
| throw new Error(response.status.toString()) | |
| }, | |
| (error) => { | |
| return Promise.reject(error) | |
| }, | |
| ) | |
| export default service | |