feat: implement HttpServer for API requests and add getUser function for user profile retrieval

This commit is contained in:
Ardeman
2025-02-28 23:56:47 +08:00
parent 9bc7fbb902
commit 0577975846
5 changed files with 42 additions and 19 deletions
+33
View File
@@ -0,0 +1,33 @@
import xior, { merge } from 'xior'
const baseURL = import.meta.env.VITE_API_URL
export type THttpServer = { accessToken?: string }
export const HttpServer = (parameters?: THttpServer) => {
const { accessToken } = parameters || {}
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: {
...(accessToken && { Authorization: `Bearer ${accessToken}` }),
},
})
})
instance.interceptors.response.use(
(response) => {
return response
},
(error) => {
return Promise.reject(error)
},
)
return instance
}