request.js 690 Bytes
import axios from 'axios';
import Toast from 'react-native-root-toast';

let store;

export const injectStore = _store => {
  store = _store;
};

const servers = axios.create({
  baseURL: 'http://114.55.111.91:8499/api',
  timeout: 5000,
});

servers.interceptors.request.use(
  config => {
    if (store.getState().user?.token) {
      config.headers.Authorization = `${store.getState().user?.token}`;
    }
    return config;
  },
  error => {
    return Promise.reject(error);
  },
);

servers.interceptors.response.use(
  response => {
    return response.data;
  },
  error => {
    Toast.show(JSON.stringify(error));
    return Promise.reject(error);
  },
);

export default servers;