diff --git a/lib/defaults.js b/lib/defaults.js index cb061af4c0..b62f1e962a 100644 --- a/lib/defaults.js +++ b/lib/defaults.js @@ -77,7 +77,7 @@ var defaults = { var contentType = headers && headers['Content-Type']; if ( isObjectPayload && contentType === 'multipart/form-data' ) { - return toFormData(data, new (this.env && this.env.FormData || FormData)); + return toFormData(data, this.env && this.env.FormData); } else if ( isObjectPayload || contentType === 'application/json' ) { setContentTypeIfUnset(headers, 'application/json'); return stringifySafely(data); diff --git a/lib/helpers/toFormData.js b/lib/helpers/toFormData.js index 0f03b79861..3a683f8a6e 100644 --- a/lib/helpers/toFormData.js +++ b/lib/helpers/toFormData.js @@ -46,12 +46,11 @@ function buildFormData(formData, data, parentKey) { * type FormVal = FormDataNest | FormDataPrimitive * * @param {FormVal} data - * @param {?Object} formData + * @param {?Class} EnvFormData */ -module.exports = function getFormData(data, formData) { - // eslint-disable-next-line no-param-reassign - formData = formData || new FormData(); +module.exports = function getFormData(data, EnvFormData) { + var formData = new (EnvFormData || FormData)(); buildFormData(formData, data);