2
0
mirror of https://github.com/tenrok/axios.git synced 2026-06-05 16:42:32 +03:00

fix: capture errors on request data streams

This commit is contained in:
Justin Beckwith
2018-04-06 12:38:04 -07:00
committed by GitHub
2 changed files with 18 additions and 1 deletions
+3 -1
View File
@@ -233,7 +233,9 @@ module.exports = function httpAdapter(config) {
// Send the request
if (utils.isStream(data)) {
data.pipe(req);
data.on('error', function handleStreamError(err) {
reject(enhanceError(err, config, null, req));
}).pipe(req);
} else {
req.end(data);
}
+15
View File
@@ -268,6 +268,21 @@ module.exports = {
});
},
testFailedStream: function(test) {
server = http.createServer(function (req, res) {
req.pipe(res);
}).listen(4444, function () {
axios.post('http://localhost:4444/',
fs.createReadStream('/does/not/exist')
).then(function (res) {
test.fail();
}).catch(function (err) {
test.equal(err.message, 'ENOENT: no such file or directory, open \'/does/not/exist\'');
test.done();
});
});
},
testBuffer: function(test) {
var buf = new Buffer(1024); // Unsafe buffer < Buffer.poolSize (8192 bytes)
buf.fill('x');