diff --git a/lib/multipart.js b/lib/multipart.js index f4d429b1aa..90682aedda 100644 --- a/lib/multipart.js +++ b/lib/multipart.js @@ -28,8 +28,10 @@ const multipartDataGenerator = (method, data, headers) => { return `"${s.replace(/"|"/g, '%22').replace(/\r\n|\r|\n/g, ' ')}"`; } - for (const k in utils.flattenAndStringify(data)) { - const v = data[k]; + const flattenedData = utils.flattenAndStringify(data); + + for (const k in flattenedData) { + const v = flattenedData[k]; push(`--${segno}`); if (v.hasOwnProperty('data')) { push( diff --git a/testUtils/index.js b/testUtils/index.js index fdca468709..78a8693821 100644 --- a/testUtils/index.js +++ b/testUtils/index.js @@ -56,8 +56,22 @@ const utils = (module.exports = { if (host) { req.host = host; } - stripeInstance.REQUESTS.push(req); - cb.call(this, null, {}); + + const handleMockRequest = (err, req) => { + stripeInstance.REQUESTS.push(req); + cb.call(this, err, {}); + }; + + if (this.requestDataProcessor) { + this.requestDataProcessor( + method, + data, + options.headers, + handleMockRequest + ); + } else { + handleMockRequest(null, req); + } }; }