about summary refs log tree commit diff
path: root/app/javascript/mastodon/api.js
diff options
context:
space:
mode:
authornightpool <eg1290@gmail.com>2018-01-08 14:01:33 -0500
committerEugen Rochko <eugen@zeonfederated.com>2018-01-08 20:01:33 +0100
commitc235711ffee6999c09bd6910373ebcfbc7758e99 (patch)
tree40efb018ab3fdc58d933d5ef09a95c56f0ef298d /app/javascript/mastodon/api.js
parentff6ca8bdc6e4ae42c571fecbab8ddc8817638c31 (diff)
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
Diffstat (limited to 'app/javascript/mastodon/api.js')
-rw-r--r--app/javascript/mastodon/api.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/javascript/mastodon/api.js b/app/javascript/mastodon/api.js
index ecc703c0a..0be08d7fd 100644
--- a/app/javascript/mastodon/api.js
+++ b/app/javascript/mastodon/api.js
@@ -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 {