¿Cómo canalizar un flujo legible en dos flujos grabables a la vez en Node.js?

La meta es:

Crear una secuencia de lectura de archivos.Pipelo para gzip (zlib.createGzip())

Luego canalice el flujo de lectura de la salida de zlib a:

1) HTTPresponse objeto

2)y secuencia de archivos de escritura para guardar la salida gzipped.

Ahora puedo hacer hasta 3.1:

var gzip = zlib.createGzip(),
    sourceFileStream = fs.createReadStream(sourceFilePath),
    targetFileStream = fs.createWriteStream(targetFilePath);

response.setHeader('Content-Encoding', 'gzip');

sourceFileStream.pipe(gzip).pipe(response);

... que funciona bien, pero también necesitoguardar los datos comprimidos en un archivo de modo que no necesito regzip cada vez y poder transmitir directamente los datos gzip como respuesta.

Entonces, ¿cómo canalizo un flujo legible en dos flujos grabables a la vez en Nodo?

haríasourceFileStream.pipe(gzip).pipe(response).pipe(targetFileStream); ¿Trabaja en el nodo 0.8.x?

Respuestas a la pregunta(2)

Su respuesta a la pregunta