From ffe9aff17bcfb1009741ac03ea5038c83221b6fc Mon Sep 17 00:00:00 2001 From: Artur Paikin Date: Fri, 9 Feb 2018 01:13:54 -0500 Subject: [PATCH] return xhr.responseText like everywhere else, try/catch JSON.parse() Browser tests are failing, I suspect its because it throws when trying to parse response in getResponseData here. //cc @ifedapoolarewaju @goto-bus-stop --- src/plugins/XHRUpload.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/XHRUpload.js b/src/plugins/XHRUpload.js index a063b9c02..9b16d44d3 100644 --- a/src/plugins/XHRUpload.js +++ b/src/plugins/XHRUpload.js @@ -45,7 +45,12 @@ module.exports = class XHRUpload extends Plugin { * @param {XMLHttpRequest | respObj} responseObject the response object */ getResponseData (responseContent, responseObject) { - return JSON.parse(responseContent) + try { + return JSON.parse(responseContent) + } catch (err) { + this.uppy.log(err, 'error') + return err + } }, /** * @@ -352,7 +357,7 @@ module.exports = class XHRUpload extends Plugin { timer.done() if (ev.target.status >= 200 && ev.target.status < 300) { - const resp = this.opts.getResponseData(xhr) + const resp = this.opts.getResponseData(xhr.responseText) files.forEach((file) => { this.uppy.emit('upload-success', file.id, resp) })