Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import axios from 'axios'
- import { getToken, logout } from './auth'
- import humps from 'humps'
- const env = process.env.REACT_APP_API
- export const getBaseURL = () => {
- const url = {
- development: '',
- production: '',
- }
- return url[env]
- }
- const baseURL = getBaseURL()
- const api = axios.create({ baseURL })
- api.interceptors.request.use(async config => {
- const token = getToken()
- if (token) {
- config.headers.Authorization = `Bearer ${token}`
- }
- config.data = humps.decamelizeKeys(config.data)
- config.params = humps.decamelizeKeys(config.params)
- return config
- })
- api.interceptors.response.use(
- resp => {
- const response = humps.camelizeKeys(resp.data)
- return response
- },
- error => {
- if (error.response.status === 401) {
- return logout()
- }
- return Promise.reject(error.response)
- },
- )
- export default api
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement