For the moment the samples in documentation won't work with unexisting files. In those cases, the stream is ended, but not the response.
Plus, as there is no data passed with the "end" event of the stream, there is no clean way to detect why it has been ended and then properly end the response on the other side.
So I propose to end the response directly (as expected from documentation), when such an error occurs.
When piping to a response, and an error occurs, end the response