¿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?