fabi / frontend /src /services /api_client.ts
Osman2010
Deploy DataLine with Gemini integration to HF Spaces
9470652
import axios, { AxiosRequestConfig, AxiosResponse, Method } from "axios";
// Initializing Axios instance
const axiosInstance = axios.create();
export const apiURL = import.meta.env.VITE_API_URL || "http://localhost:7377";
interface AxiosRequestConfigPatch extends Omit<AxiosRequestConfig, "method"> {
method?: Method; // axios sets it as string, which is unhelpful and can lead to bugs
}
export function configureAxiosInstance(withCredentials: boolean) {
axiosInstance.defaults.withCredentials = withCredentials;
}
export function isAuthEnabled() {
return axiosInstance.defaults.withCredentials;
}
export function backendApi<T>(
config: AxiosRequestConfigPatch
): Promise<AxiosResponse<T>> {
return axiosInstance.request<T>({ baseURL: apiURL, ...config });
}