Sha256: 50a810f7a8b0ccf0fd5154acfb4c25aff11f0397d338e460846d523f2614cdd4
Contents?: true
Size: 1.07 KB
Versions: 12
Compression:
Stored size: 1.07 KB
Contents
import * as axios from 'axios' import camelcaseObjectDeep from 'camelcase-object-deep' let siteHandle = null let locale = null export const setSiteHandle = (handle) => (siteHandle = handle) export const setLocale = (newLocale) => (locale = newLocale) const token = document.querySelector('[name=csrf-token]').content axios.defaults.headers.common['X-CSRF-TOKEN'] = token const api = axios.create({ baseURL: window.apiBaseUrl, timeout: 50000, headers: { 'Content-Type': 'application/json', Accept: 'application/json', }, transformResponse(data) { // camelcase in JS // console.log('[DEBUG] API response', data) return data ? camelcaseObjectDeep(JSON.parse(data)) : {} // return data ? JSON.parse(data) : {} // LEGACY }, }) api.interceptors.request.use( (config) => { config.headers['X-MAGLEV-SITE-HANDLE'] = siteHandle config.headers['X-MAGLEV-LOCALE'] = locale return config }, (error) => Promise.reject(error), ) export const get = api.get export const post = api.post export const put = api.put export const destroy = api.delete
Version data entries
12 entries across 12 versions & 1 rubygems