diff --git a/packages/node_modules/@webex/http-core/src/request/request.shim.js b/packages/node_modules/@webex/http-core/src/request/request.shim.js index 1a1cb182383..610d45dd194 100644 --- a/packages/node_modules/@webex/http-core/src/request/request.shim.js +++ b/packages/node_modules/@webex/http-core/src/request/request.shim.js @@ -27,6 +27,7 @@ export default function _request(options) { // Set `response` to `true` to approximate an `HttpResponse` object params.response = true; + setXhr(params); bindProgressEvents(params, options); setAuth(params, options); setCookies(params, options); @@ -93,11 +94,23 @@ export default function _request(options) { */ function bindProgressEvents(params, o) { if (params.method && ['PATCH', 'POST', 'PUT'].includes(params.method.toUpperCase())) { - params.xhr = new XMLHttpRequest(); + if (!params.xhr) { + params.xhr = new XMLHttpRequest(); + } params.xhr.upload.onprogress = o.upload.emit.bind(o.upload, 'progress'); } } + /** + * @param {Object} params + * @param {Object} o + * @private + * @returns {undefined} + */ + function setXhr(params) { + params.xhr = new XMLHttpRequest(); + } + /** * @param {Object} params * @param {Object} o