From ee9bafc127c84dad9b11f3f97d5c6f13a7f76732 Mon Sep 17 00:00:00 2001 From: Jonathan Johnson Date: Tue, 12 Jan 2016 15:50:55 -0800 Subject: [PATCH] Send authorization headers with upload requests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Our new simple auth library doesn’t do this automatically so we have to hand it on our own. --- app/components/file-upload.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/app/components/file-upload.js b/app/components/file-upload.js index 7c036047d8..99f46b3186 100644 --- a/app/components/file-upload.js +++ b/app/components/file-upload.js @@ -2,13 +2,38 @@ import Ember from 'ember'; import EmberUploader from 'ember-uploader'; const { FileField, Uploader } = EmberUploader; +const { inject, computed } = Ember; +const { service } = inject; + +let IliosUploader = Uploader.extend({ + iliosHeaders: [], + ajaxSettings: function() { + let settings = this._super(...arguments); + settings.headers = this.get('iliosHeaders'); + + return settings; + } + +}); export default FileField.extend({ + session: service(), url: '', + headers: computed('session.isAuthenticated', function(){ + let headers = {}; + this.get('session').authorize('authorizer:token', (headerName, headerValue) => { + headers[headerName] = headerValue; + }); + + return headers; + }), filesDidChange(files) { const uploadUrl = this.get('url'); - const uploader = Uploader.create({ url: uploadUrl }); + const uploader = IliosUploader.create({ + url: uploadUrl, + iliosHeaders: this.get('headers') + }); this.sendAction('startUploading');