import axios from "axios";
const api = axios.create({ baseURL: `${process.env.REACT_APP_API_URL}` });
// request
api.interceptors.request.use(
(config) => {
const token = localStorage.getItem("token");
if (token) {
config.headers.Authorization = token;
}
// config.headers["Content-Type"] = "application/x-www-form-urlencoded";
console.log(config);
return config;
},
(error) => {
console.log("error", error);
return Promise.reject(error);
}
);
// response
api.interceptors.response.use(
(response) => {
return response;
},
(error) => {
/* error handling */
// console.log(error);
const originalRequest = error.config;
console.log(originalRequest);
// expired token
if (error.response.status === 401) {
return Promise.reject(error);
}
return Promise.reject(error);
}
);
export default api;
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.2.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
This is my middleware file. I need to set the loader globally.
But I don’t know how to pass the data in function. ( outside the functional component )
And also I need to throw 401 error message.
Thank you…