From cb50298c7d1b5ed697cb2175a15242a94adde820 Mon Sep 17 00:00:00 2001 From: Rowan Winsemius Date: Wed, 30 May 2018 20:02:42 +1000 Subject: [PATCH 1/2] IE fix for xml parsing --- src/services/urlsigner.js | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/services/urlsigner.js b/src/services/urlsigner.js index a351492..7cc8bfd 100755 --- a/src/services/urlsigner.js +++ b/src/services/urlsigner.js @@ -55,16 +55,24 @@ export default { let request = new XMLHttpRequest(); request.open('POST', response.postEndpoint); request.onload = function () { + var parser = new DOMParser(); + var s3Msg = null + try { + s3Msg = parser.parseFromString(request.response, "application/xml"); + } catch (err) { + s3Msg = new ActiveXObject("Microsoft.XMLDOM"); + s3Msg.async = "false"; + s3Msg.loadXML(a) + } + if (request.status == 201) { - var s3Error = (new window.DOMParser()).parseFromString(request.response, "text/xml"); - var successMsg = s3Error.firstChild.children[0].innerHTML; + var successMsg = s3Msg.firstChild.children[0].innerHTML; resolve({ 'success': true, 'message': successMsg }) } else { - var s3Error = (new window.DOMParser()).parseFromString(request.response, "text/xml"); - var errMsg = s3Error.firstChild.children[0].innerHTML; + var errMsg = s3Msg.firstChild.children[0].innerHTML; reject({ 'success': false, 'message': errMsg + ". Request is marked as resolved when returns as status 201" @@ -72,8 +80,17 @@ export default { } }; request.onerror = function (err) { - var s3Error = (new window.DOMParser()).parseFromString(request.response, "text/xml"); - var errMsg = s3Error.firstChild.children[1].innerHTML; + var parser = new DOMParser(); + var s3Msg = null + try { + s3Msg = parser.parseFromString(request.response, "application/xml"); + } catch (err) { + s3Msg = new ActiveXObject("Microsoft.XMLDOM"); + s3Msg.async = "false"; + s3Msg.loadXML(a) + } + + var errMsg = s3Msg.firstChild.children[1].innerHTML; reject({ 'success': false, 'message': errMsg From df4ef43759b21f246698e4fc2f2640258ab9cd2d Mon Sep 17 00:00:00 2001 From: Rowan Winsemius Date: Wed, 30 May 2018 20:40:07 +1000 Subject: [PATCH 2/2] whoops --- src/services/urlsigner.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/urlsigner.js b/src/services/urlsigner.js index 7cc8bfd..85bde5c 100755 --- a/src/services/urlsigner.js +++ b/src/services/urlsigner.js @@ -62,7 +62,7 @@ export default { } catch (err) { s3Msg = new ActiveXObject("Microsoft.XMLDOM"); s3Msg.async = "false"; - s3Msg.loadXML(a) + s3Msg.loadXML(err) } if (request.status == 201) { @@ -84,10 +84,10 @@ export default { var s3Msg = null try { s3Msg = parser.parseFromString(request.response, "application/xml"); - } catch (err) { + } catch (err2) { s3Msg = new ActiveXObject("Microsoft.XMLDOM"); s3Msg.async = "false"; - s3Msg.loadXML(a) + s3Msg.loadXML(err2) } var errMsg = s3Msg.firstChild.children[1].innerHTML;