import axios from "axios"; import { API_ENDPOINT } from "./endpointDef"; const request = axios.create({ baseURL: API_ENDPOINT, headers: { "Content-Type": "application/json", }, }); export const getRequest = (url, params = null, options = null) => request.get(url, { params, ...options }); export const postRequest = (url, data, params = null, options = null) => request.post(url, data, { params, ...options }); export const putRequest = (url, data, params = null, options = null) => request.put(url, data, { params, ...options }); export const patchRequest = (url, data, params = null, options = null) => request.patch(url, data, { params, ...options }); export const deleteRequest = (url, params = null, options = null) => request.delete(url, { params, ...options }); export const addHeaderToken = (token) => { request.defaults.headers.Authorization = `Bearer ${token}`; }; export const removeHeaderToken = () => { delete request.defaults.headers.Authorization; }; export const attachPostRequestListener = (postRequestListener) => { request.interceptors.response.use( (response) => response, (response) => postRequestListener(response) ); }; export const apiDefaultUrl = request.defaults.baseURL;