Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Add 'pipe' event

  • Loading branch information...
commit 634e7236f7456432107d05fe8ec5f8da19a6abe4 1 parent 583f2e5
Mikeal Rogers mikeal authored ry committed
6 doc/api/streams.markdown
View
@@ -125,6 +125,12 @@ Emitted on error with the exception `exception`.
Emitted when the underlying file descriptor has been closed.
+### Event: 'pipe'
+
+`function (src) { }`
+
+Emitted when the stream is passed to a readable stream's pipe method.
+
### stream.writable
A boolean that is `true` by default, but turns `false` after an `'error'`
2  lib/stream.js
View
@@ -67,4 +67,6 @@ Stream.prototype.pipe = function(dest, options) {
dest.on('resume', function() {
if (source.readable) source.resume();
});
+
+ dest.emit('pipe', source);
};
27 test/simple/test-stream-pipe-event.js
View
@@ -0,0 +1,27 @@
+var stream = require('stream');
+var assert = require('assert');
+var util = require('util');
+
+function Writable () {
+ this.writable = true;
+ stream.Stream.call(this);
+}
+util.inherits(Writable, stream.Stream);
+
+function Readable () {
+ this.readable = true;
+ stream.Stream.call(this);
+}
+util.inherits(Readable, stream.Stream);
+
+var passed = false;
+
+var w = new Writable();
+w.on('pipe', function (src) {
+ passed = true;
+});
+
+var r = new Readable();
+r.pipe(w);
+
+assert.ok(passed)
Please sign in to comment.
Something went wrong with that request. Please try again.