in src/utils/request.js [82:140]
export default function request(url, options) {
const defaultOptions = {};
const newOptions = {...defaultOptions, ...options};
if (
newOptions.method === 'POST' ||
newOptions.method === 'PUT' ||
newOptions.method === 'DELETE'
) {
if (!(newOptions.body instanceof FormData)) {
newOptions.headers = {
Accept: 'application/json',
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json; charset=utf-8',
...newOptions.headers,
};
newOptions.body = JSON.stringify(newOptions.body);
} else {
// newOptions.body is FormData
newOptions.headers = {
Accept: 'application/json',
...newOptions.headers,
};
}
}
// add token
let token = window.sessionStorage.getItem("token");
if (token) {
if (!newOptions.headers) {
newOptions.headers = {};
}
newOptions.headers = {...newOptions.headers, "X-Access-Token": token};
}
return fetch(url, newOptions)
.then(checkStatus)
.then(response => {
if (newOptions.method === 'DELETE' || response.status === 204) {
return response.json();
}
return response.json();
}).then(res => {
if (checkResponseCode(res)) {
return res;
}
})
.catch(e => {
const {dispatch} = store;
const status = e.name;
if (status === 401) {
dispatch({
type: 'login/logout',
});
dispatch({
type: "global/resetPermission"
});
}
});
}