If you’ve ever used the Request module, you’ve probably noticed that calling it returns a stream object synchronously. You can pipe it right away. To see what I mean, this is how you would normally pipe HTTP responses: var http = require('http'); http.get('http://www.google.com', function onResponse(response) { response.pipe(destinationStream); }); That’s easier to understand, shorter, and require