Files
music-v2/app/utils/cfetch.ts
T
2025-12-05 02:34:35 +01:00

25 lines
604 B
TypeScript

import axios, { type AxiosRequestConfig, type AxiosResponse } from "axios"
import defu from "defu"
export const cfetch = async (
url: string,
options: AxiosRequestConfig = {},
authorize: boolean = true
): Promise<AxiosResponse> => {
const baseUrl = import.meta.env.VITE_PUBLIC_BACKEND
const defaults: AxiosRequestConfig = {
baseURL: baseUrl,
}
if (authorize) {
let token = (await cookieStore.get("sessionToken"))?.value
if (token) defaults.headers = { Authorization: `Bearer ${token}` }
}
const config: AxiosRequestConfig = defu(options, defaults)
return await axios(url, config)
}