I have a file stream that I want to pass in the transformRead () method that accepts readStream and writeStream, but I don't know how to create a temporary write stream ... do I need to use a file? I just need some kind of pipe () from rs to ws, then ws gzipped and sent back.
// Get file stream var rs = store.getReadStream(fileId); var ws = ?????; // Execute transformation store.transformRead(rs, ws, fileId); var accept = req.headers['accept-encoding'] || ''; // Compress data if supported by the client if (accept.match(/\bdeflate\b/)) { res.writeHead(200, { 'Content-Encoding': 'deflate', 'Content-Type': file.type }); ws.pipe(zlib.createDeflate()).pipe(res); } else if (accept.match(/\bgzip\b/)) { res.writeHead(200, { 'Content-Encoding': 'gzip', 'Content-Type': file.type }); ws.pipe(zlib.createGzip()).pipe(res); } else { res.writeHead(200, {}); ws.pipe(res); }
source share