simple-get
simple-get copied to clipboard
HTTP 500 response not returned with Node.js 14 and concat
After upgrading to Node.js 14, I do not receive HTTP 500 responses with code of the form:
get.concat('http://example.com', function (err, res, data) {
} );
This can be fixed by checking explicitly for res.statusCode != 200 in simple-get's concat function, i.e.
simpleGet.concat = (opts, cb) => {
return simpleGet(opts, (err, res) => {
if (err) return cb(err)
if (res.statusCode != 200) return cb(null,res) // <---- added line
concat(res, (err, data) => {
It appears that a change in Node.js 14 means that the stream end event is no-longer called in this situation, so simple-concat never returns output.
See #66, I added some test coverage to validate that this behavior continues to work in Node 14. It would be really unexpected for http to change stream handling to change based on a status code, that's a higher (user) level concern.
If you could share runnable code that might help identify your issue.