I was recently testing some stream piping like

rstream
  .pipe(foo)
  .pipe(bar)
  .on('error', function (err) {
    // handle the error
  });

and I found out that currently stream.pipe does not forward
the 'error' events, so if you wanted to handle the
errors you would need to do something like

rstream
  .on('error', handleError)
  .pipe(foo)
  .on('error', handleError)
  .pipe(bar)
  .on('error', handleError);

or possibly rely on domains to deal with the error, but 
I would prefer to leave domains for other more 
catastrophic errors and just deal with errors at the 
end of the pipe chain.

The current node.js code checks to see if the source has any error 
listeners and if there are none then it throws an Error. If there was an 
error listener on the source then it will be given the error to deal with.


So to all the experienced streams users out there, 

1. How do you believe it should work? (or is there a better way)
2. Is there any edge cases that we need to consider if we were to implement 
as I described above?


Thanks in advance for your input!

Jeff

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to