import axios, { AxiosInstance } from 'axios'; import log from 'loglevel'; export const logResource = (a: AxiosInstance) => { a.interceptors.response.use(r => { log.debug(`[${r.config.method?.toUpperCase()}] ${r.config.url}`); return r; }, e => { if (!e?.config) { log.error(e.message, e); } log.error(`[${e.config?.method?.toUpperCase()}] ${e.config?.url} failed with ${e.response?.status} ${e.response?.statusText}`, e); return Promise.reject(e); }); } export const esiAxiosInstance = axios.create({ baseURL: import.meta.env.VITE_ESI_URL, headers: { 'Accept': 'application/json', "Content-Type": "application/json" }, }) logResource(esiAxiosInstance)