Refactor /api/web APIs to use the centralized axios instance (#6223)

Also adds the ability to decouple the centralized axios logic from the
state dispatcher
This commit is contained in:
nightpool 2018-01-08 14:01:33 -05:00 committed by Eugen Rochko
parent ff6ca8bdc6
commit c235711ffe
5 changed files with 21 additions and 13 deletions

View file

@ -1,4 +1,5 @@
import axios from 'axios';
import ready from './ready';
import LinkHeader from './link_header';
export const getLinks = response => {
@ -11,10 +12,17 @@ export const getLinks = response => {
return LinkHeader.parse(value);
};
let csrfHeader = {};
function setCSRFHeader() {
const csrfToken = document.querySelector('meta[name=csrf-token]').content;
csrfHeader['X-CSRF-Token'] = csrfToken;
}
ready(setCSRFHeader);
export default getState => axios.create({
headers: {
headers: Object.assign(csrfHeader, getState ? {
'Authorization': `Bearer ${getState().getIn(['meta', 'access_token'], '')}`,
},
} : {}),
transformResponse: [function (data) {
try {