| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import axiosAPI from "./axios";
- import { refreshToken } from "@/actions/auth";
- const handleRequest = async (request) => {
- try {
- return await request();
- } catch (error) {
- if (error?.response?.status === 401) {
- try {
- const token = await refreshToken();
- if (token.success) {
- axiosAPI.defaults.headers.Authorization = `Bearer ${token.access_token}`;
- return await request();
- }
- return false;
- } catch (error) {
- console.log(error);
- return false;
- }
- }
- console.log(error);
- return false;
- }
- };
- export const get = async (url, config = null) => {
- try {
- const request = () => axiosAPI.get(url, config);
- const res = await handleRequest(request);
- return res;
- } catch (error) {
- console.log(error);
- return false;
- }
- };
- export const post = async (url, data, config = null) => {
- try {
- const request = () => axiosAPI.post(url, data, config);
- const res = await handleRequest(request);
- return res;
- } catch (error) {
- console.log(error);
- return false;
- }
- };
- export const put = async (url, data, config = null) => {
- try {
- const request = () => axiosAPI.put(url, data, config);
- const res = await handleRequest(request);
- return res;
- } catch (error) {
- console.log(error);
- return false;
- }
- };
- export const del = async (url, config = null) => {
- try {
- const request = () => axiosAPI.delete(url, config);
- const res = await handleRequest(request);
- return res;
- } catch (error) {
- console.log(error);
- return false;
- }
- };
|