32 lines
640 B
TypeScript

import xior, { merge } from 'xior'
const baseURL = import.meta.env.VITE_API_URL
const HttpClient = (token?: string) => {
const instance = xior.create({
baseURL,
})
instance.interceptors.request.use((config) => {
// eslint-disable-next-line no-console
console.info(`🚀requesting ${config.url}`)
return merge(config, {
headers: {
...(token && { Authorization: `Bearer ${token}` }),
},
})
})
instance.interceptors.response.use(
(response) => {
return response
},
(error) => {
return Promise.reject(error)
},
)
return instance
}
export default HttpClient