| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- import axios from "axios";
 
- import { refreshToken } from "@/actions/auth";
 
- // import jwt_decode from "jwt-decode";
 
- const axiosJWT = axios.create({
 
- 	baseURL: "http://localhost:5000",
 
- 	withCredentials: true,
 
- });
 
- axiosJWT.interceptors.request.use(
 
- 	async (config) => {
 
- 		// const response = await refreshToken();
 
- 		// const decoded = jwt_decode(response.access_token);
 
- 		// const expire = decoded.exp;
 
- 		// const currentDate = Date.now();
 
- 		// if (expire * 1000 < currentDate) {
 
- 		const response = await refreshToken();
 
- 		// console.log(response);
 
- 		if (response.success) config.headers.Authorization = `Bearer ${response.access_token}`;
 
- 		// config.withCredentials = true;
 
- 		return config;
 
- 		// }
 
- 	},
 
- 	async (error) => {
 
- 		const originalConfig = err.config;
 
- 		// if (error.response.status === 403 || error.response.status === 401) {
 
- 		try {
 
- 			const response = await refreshToken();
 
- 			if (response.success) {
 
- 				// axiosJWT.defaults.headers.Authorization = `Bearer ${response.access_token}`;
 
- 				originalConfig.headers.Authorization = `Bearer ${response.access_token}`;
 
- 				return axiosJWT(originalConfig);
 
- 			}
 
- 		} catch (error) {
 
- 			return Promise.reject(error);
 
- 		}
 
- 		// }
 
- 		return Promise.reject(error);
 
- 	}
 
- );
 
- export default axiosJWT;
 
 
  |