| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import {TYPE_ALERT} from "~/types/enums";
- import Page from "~/services/store/page";
- export default function ({ $axios, redirect, store }) {
- $axios.onRequest(config => {
- if(!config.params.noXaccessId){
- $axios.setHeader('x-accessid', `${store.state.profile.access.id}`)
- if (store.state.profile.access.switchId) {
- $axios.setHeader('x-switch-user', `${store.state.profile.access.switchId}`)
- }
- $axios.setToken(`${store.state.profile.access.bearer}`, 'Bearer')
- }else{
- delete config.headers.common['Authorization']
- delete config.headers.common['x-accessid']
- $axios.setHeader('x-accessid', false)
- $axios.setToken(false)
- }
- })
- $axios.onResponse(response => {
- })
- $axios.onError((error) => {
- // In case of unauthorized, redirect to a specific page
- if (error.response.status === 401) {
- redirect('/login')
- }
- if (error.response.status === 403) {
- console.debug('forbidden')
- }
- if (error.response.status === 500) {
- new Page(store).addAlerts(TYPE_ALERT.ALERT, [error.response.data['hydra:description']])
- }
- })
- }
|