# Axios Config

We are using the Axios to make an API call. Here is the global Axios configuration. You can find it on this path `src/@crema/services/auth/jwt-auth/index.js`

```typescript
import axios from '@crema/services/axios';

const jwtAxios = axios?.create({
  baseURL: 'https://cremaapi.pythonanywhere.com/api/', //YOUR_API_URL HERE
  headers: {
    'Content-Type': 'application/json',
  },
});
jwtAxios.interceptors.response.use(
  (res) => res,
  (err) => {
    if (err.response && err.response.data.msg === 'Token is not valid') {
      console.log('Need to logout user');
      // store.dispatch({type: LOGOUT});
    }
    return Promise.reject(err);
  },
);
export const setAuthToken = (token) => {
  if (token) {
    jwtAxios.defaults.headers.common['Authorization'] = 'Bearer ' + token;
    localStorage.setItem('token', token);
  } else {
    delete jwtAxios.defaults.headers.common['Authorization'];
    localStorage.removeItem('token');
  }
};

export default jwtAxios;
```

We are using the mock APIs in our app, to get the fake data from the Crema fake DB. We are using [axios-mock-adapter](https://www.npmjs.com/package/axios-mock-adapter) to achieve this. Here is the configuration of it. you can find out this file here `src/@crema/mockapi/apis/MockConfig.js`

```javascript
import axios from '@crema/services/axios';

// eslint-disable-next-line @typescript-eslint/no-var-requires
const MockAdapter = require('axios-mock-adapter');

export default new MockAdapter(axios, {delayResponse: 200});
```
