Skip to content

Instantly share code, notes, and snippets.

@sakilahmmad71
Created July 25, 2021 20:26
Show Gist options
  • Save sakilahmmad71/d8d7ebc87575c8c3b974aa27c6a369f2 to your computer and use it in GitHub Desktop.
Save sakilahmmad71/d8d7ebc87575c8c3b974aa27c6a369f2 to your computer and use it in GitHub Desktop.
import axios from 'axios';
const MakeApiRequest = axios.create({
baseURL: "https://jsonplaceholder.typicode.com/",
headers: { 'Accept': 'application/json' },
timeout: 10000,
});
const setAuthToken = (token = '') => {
if (token) {
MakeApiRequest.defaults.headers.common['Authorization'] = token;
} else {
delete MakeApiRequest.defaults.headers.common['Authorization'];
}
}
MakeApiRequest.interceptors.request.use(
(request) => {
if (axios.defaults.headers.common['Authorization']) {
return request;
} else {
throw new Error({ message: 'Token is not present in request.' })
}
},
(error) => {
return Promise.reject(error);
}
);
MakeApiRequest.interceptors.response.use(
(response) => {
if (response.status === 200 || response.status === 201) {
return response;
}
if (response.status === 401) {
return response.data = 'Unauthorized.';
}
if (response.status === 404) {
return response.data = 'Provided URL is not valid.';
}
},
(error) => {
return Promise.reject(error);
}
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment