| 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;
|