You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/resources/js/Global/services/api.services.js

41 lines
1.1 KiB

import axios from 'axios'
import { TokenService } from './storage.services'
import commonState from '@Global/store/modules/common/state';
const ApiService = {
init(baseURL = null) {
if (baseURL) {
axios.defaults.baseURL = baseURL;
} else if (process.env.MIX_PUSHER_APP_API) {
axios.defaults.baseURL = process.env.MIX_PUSHER_APP_API;
}
axios.interceptors.request.use((config) => {
config.headers = this.setModuleHeader(config.headers);
return config;
});
},
setHeader() {
axios.defaults.headers.common["Accept"] = `application/json`;
axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
},
setModuleHeader(headers = axios.defaults.headers.common) {
headers['Module'] = commonState.current_module;
return headers;
},
setAuthHeader() {
axios.defaults.headers.common["Authorization"] = `Bearer ${TokenService.getToken()}`;
},
removeAuthHeader() {
axios.defaults.headers.common["Authorization"] = null;
},
}
export default ApiService
export { ApiService }