|
1 | 1 | 'use strict' |
2 | 2 |
|
3 | 3 | var debug = require('debug')('httpsnippet') |
| 4 | +var es = require('event-stream') |
| 5 | +var MultiPartForm = require('form-data') |
4 | 6 | var qs = require('querystring') |
5 | 7 | var reducer = require('./helpers/reducer') |
6 | 8 | var targets = require('./targets') |
@@ -101,17 +103,24 @@ HTTPSnippet.prototype.prepare = function (request) { |
101 | 103 | request.postData.mimeType = 'multipart/form-data' |
102 | 104 |
|
103 | 105 | if (request.postData.params) { |
104 | | - var form = new FormData() |
| 106 | + var form = new MultiPartForm() |
105 | 107 |
|
106 | 108 | // easter egg |
107 | 109 | form._boundary = '---011000010111000001101001' |
108 | 110 |
|
109 | 111 | request.postData.params.forEach(function (param) { |
110 | | - form.append(param.name, param.value || '') |
| 112 | + form.append(param.name, param.value || '', { |
| 113 | + filename: param.fileName || null, |
| 114 | + contentType: param.contentType || null |
| 115 | + }) |
111 | 116 | }) |
112 | 117 |
|
113 | | - request.postData.boundary = form._boundary |
114 | | - request.headersObj['content-type'] = 'multipart/form-data; boundary=' + form._boundary |
| 118 | + form.pipe(es.map(function (data, cb) { |
| 119 | + request.postData.text += data |
| 120 | + })) |
| 121 | + |
| 122 | + request.postData.boundary = form.getBoundary() |
| 123 | + request.headersObj['content-type'] = 'multipart/form-data; boundary=' + form.getBoundary() |
115 | 124 | } |
116 | 125 | break |
117 | 126 |
|
|
0 commit comments