Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* axios.js */
- import axios from 'axios';
- import router from '@/router';
- import store from '@/store/store'
- const api = axios.create({
- baseURL: '/'
- });
- api.interceptors.response.use(
- (res) => {
- return res;
- },
- (error) => {
- const { response } = error
- if (response.status === 403) {
- store.dispatch('auth/logOut')
- router.replace({ path: '/logout' })
- }
- return response;
- }
- );
- export default api;
- /* api.js */
- import axios from './axios'
- export default function api(url, queryParams = null, token = null) {
- let headers = buildHeaders(token)
- const config = {
- headers,
- ...(!queryParams ? {} : { params: buildParams(queryParams) })
- }
- return {
- post: data => axios.post(url, data, config)
- .then(res => res)
- .catch(e => console.error(e)),
- get: () => axios.get(url, config)
- .then(res => res)
- .catch(e => console.error(e)),
- put: data => axios.put(url, data, config)
- .then(res => res)
- .catch(e => console.error(e)),
- delete: () => axios.delete(url, config)
- .then(res => res)
- .catch(e => console.error(e))
- }
- }
- function buildHeaders(token) {
- return {
- 'x-requested-with': 'XMLHttpRequest',
- ...(token ? { 'X-CSRF-Token': token } : {})
- }
- }
- /* Example */
- const response = await api(`${BASE_URL}/pre-validate`).get()
- const response = await api(`${BASE_URL}/set-customer`).post(payload)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement