Advertisement
Guest User

Axios Middleware

a guest
Jun 17th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * @Author: Iwan Susanto
  3.  * @Email: iwandevapps@gmail.com
  4.  * @Project: MSHWAR
  5.  * @Date: 2018-11-05 17:15:21
  6.  * @Last Modified by: Iwan
  7.  * @Last Modified time: 2018-12-05 14:46:45
  8.  */
  9.  
  10. import axios from 'axios'
  11. import { getToken, clearToken } from '../utils/storage'
  12. import { BASE_API_URL, BASE_API_MAPS_URL, BASE_ROOT_API_URL } from '../config'
  13.  
  14. export const api = axios.create({
  15.     baseURL: BASE_API_URL,
  16.     timeout: 12000,
  17.     headers: {
  18.         'Content-Type' :   'application/json'
  19.     }
  20. });
  21.  
  22. export const rootApi = axios.create({
  23.     baseURL: BASE_ROOT_API_URL,
  24.     timeout: 12000,
  25.     headers: {
  26.         'Content-Type' :   'application/json'
  27.     }
  28. });
  29.  
  30. api.interceptors.response.use(function(response) {
  31.     return response;
  32. }, function(error) {
  33.     if(error.response.status === 401) {
  34.         return clearToken();
  35.     };
  36.     return Promise.reject(error);
  37. })
  38.  
  39. rootApi.interceptors.response.use(function(response) {
  40.     return response;
  41. }, function(error) {
  42.     if(error.response.status === 401) {
  43.         return clearToken();
  44.     };
  45.     return Promise.reject(error);
  46. })
  47.  
  48. export function setToken(token) {
  49.     api.defaults.headers.common.Authorization = `Bearer ${token}`;
  50.     api.defaults.headers.common.token = `${token}`;
  51.  
  52.     rootApi.defaults.headers.common.Authorization = `Bearer ${token}`;
  53.     rootApi.defaults.headers.common.token = `${token}`;
  54. }
  55.  
  56. export function setHeaderFormData() {
  57.     api.defaults.headers.common['Content-Type'] = 'multipart/form-data';
  58.     rootApi.defaults.headers.common['Content-Type'] = 'multipart/form-data';
  59. }
  60.  
  61. getToken().then((token) => {
  62.     setToken(token);
  63. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement