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

40 lines
1.1 KiB

import axios from 'axios'
import { TokenService } from './storage.services'
5 years ago
import commonState from '@Global/store/modules/common/state';
const ApiService = {
5 years ago
init(baseURL = null) {
5 years ago
if (baseURL) {
axios.defaults.baseURL = baseURL;
} else if (process.env.MIX_PUSHER_APP_API) {
axios.defaults.baseURL = process.env.MIX_PUSHER_APP_API;
}
this.setHeader();
5 years ago
axios.interceptors.request.use((config) => {
config.headers = this.setModuleHeader(config.headers);
return config;
});
},
setHeader() {
axios.defaults.headers.common["Accept-Language"] = `fa`;
},
5 years ago
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 }