http_client: ensure empty socket on error
Read all pending data out of the socket on error
event and ensure that
no data
/end
handlers will be invoked on socket.destroy()
.
Otherwise following assertion happens:
AssertionError: null == true
at TLSSocket.socketOnData (_http_client.js:308:3)
at TLSSocket.emit (events.js:107:17)
at TLSSocket.Readable.read (_stream_readable.js:373:10)
at TLSSocket.socketCloseListener (_http_client.js:229:10)
at TLSSocket.emit (events.js:129:20)
at TCP.close (net.js:476:12)
Fix: https://github.com/joyent/node/issues/9348 See: https://github.com/npm/npm/issues/7349
cc @iojs/collaborators @bnoordhuis @othiym23