Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
# pump pump is a small node module that pipes streams together and destroys all of them if one of them closes. ``` npm install pump ``` [![build status](http://img.shields.io/travis/mafintosh/pump.svg?style=flat)](http://travis-ci.org/mafintosh/pump) ## What problem does it solve? When using standard `source.pipe(dest)` source will _not_ be destroyed if dest emits close or an error. You are also not able to provide a callback to tell when then pipe has finished. pump does these two things for you ## Usage Simply pass the streams you want to pipe together to pump and add an optional callback ``` js var pump = require('pump') var fs = require('fs') var source = fs.createReadStream('/dev/random') var dest = fs.createWriteStream('/dev/null') pump(source, dest, function(err) { console.log('pipe finished', err) }) setTimeout(function() { dest.destroy() // when dest is closed pump will destroy source }, 1000) ``` You can use pump to pipe more than two streams together as well ``` js var transform = someTransformStream() pump(source, transform, anotherTransform, dest, function(err) { console.log('pipe finished', err) }) ``` If `source`, `transform`, `anotherTransform` or `dest` closes all of them will be destroyed. Similarly to `stream.pipe()`, `pump()` returns the last stream passed in, so you can do: ``` return pump(s1, s2) // returns s2 ``` If you want to return a stream that combines *both* s1 and s2 to a single stream use [pumpify](https://github.com/mafintosh/pumpify) instead. ## License MIT ## Related `pump` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.