@mafintosh said most of this, I just wrote it down
- usually you call
.destroy()if it has.destroy - if it doesnt have
.destroyyou are out of luck and the stream should upgrade to use e.g. newerthrough2 - in request you call
.abort()(this should get fixed to use.destroy()) .end()tries to end the stream gracefully