diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2017-07-12 14:47:09 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-07-12 14:47:09 +0000 |
commit | aaa78199c2408a05d81aa4ee3058e81bb732da16 (patch) | |
tree | 97146599b47da2f86a1701c6012f60103bad9352 /app/assets/javascripts/vue_shared/vue_resource_interceptor.js | |
parent | fd692d10663e5d3c7dc0de9221d6231b7fbcc464 (diff) | |
download | gitlab-ce-aaa78199c2408a05d81aa4ee3058e81bb732da16.tar.gz |
Update vue-resource
Diffstat (limited to 'app/assets/javascripts/vue_shared/vue_resource_interceptor.js')
-rw-r--r-- | app/assets/javascripts/vue_shared/vue_resource_interceptor.js | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/app/assets/javascripts/vue_shared/vue_resource_interceptor.js b/app/assets/javascripts/vue_shared/vue_resource_interceptor.js index 740930dce5b..7f8e514fda1 100644 --- a/app/assets/javascripts/vue_shared/vue_resource_interceptor.js +++ b/app/assets/javascripts/vue_shared/vue_resource_interceptor.js @@ -14,11 +14,22 @@ Vue.http.interceptors.push((request, next) => { }); }); -// Inject CSRF token so we don't break any tests. +// Inject CSRF token and parse headers. +// New Vue Resource version uses Headers, we are expecting a plain object to render pagination +// and polling. Vue.http.interceptors.push((request, next) => { if ($.rails) { - // eslint-disable-next-line no-param-reassign - request.headers['X-CSRF-Token'] = $.rails.csrfToken(); + request.headers.set('X-CSRF-Token', $.rails.csrfToken()); } - next(); + + next((response) => { + // Headers object has a `forEach` property that iterates through all values. + const headers = {}; + + response.headers.forEach((value, key) => { + headers[key] = value; + }); + // eslint-disable-next-line no-param-reassign + response.headers = headers; + }); }); |