Open In App

Node.js zlib.createBrotliCompress() Method

The zlib.createBrotliCompress() method is an inbuilt application programming interface of the Zlib module which is used to create BrotliCompress object.

Syntax:



zlib.createBrotliCompress( options )

Parameters: This method accepts single parameter options which is an optional parameter that holds the zlib options.

Return Value: It returns a new BrotliCompress object.



Below examples illustrate the use of zlib.createBrotliCompress() method in Node.js:

Example 1:




// Node.js program to demonstrate the     
// createBrotliCompress() method
  
// Including zlib and fs module
const zlib = require("zlib");
const fs = require('fs');
  
// Creating readable Stream
const inp = fs.createReadStream('input.txt');
  
// Creating writable stream
const out = fs.createWriteStream('input.txt.gz');
  
// Calling createBrotliCompress method
const brot = zlib.createBrotliCompress();
  
// Piping
inp.pipe(brot).pipe(out);
console.log("Program Completed!");

Output:

Program Completed!

Example 2:




// Node.js program to demonstrate the     
// createBrotliCompress() method
  
// Including zlib and fs module
const zlib = require("zlib");
const fs = require('fs');
  
// Creating readable Stream
const inp = fs.createReadStream('input.txt');
  
// Creating writable stream
const out = fs.createWriteStream('input.txt.gz');
  
// Calling createBrotliCompress method
const brot = zlib.createBrotliCompress();
  
// Piping
inp.pipe(out).pipe(brot);
console.log("Program Completed!");

Output:

Error [ERR_STREAM_CANNOT_PIPE]: Cannot pipe, not readable
    at WriteStream.Writable.pipe (_stream_writable.js:243:24)
    at /home/runner/CorruptFlawedSoftwaresuite/index.js:19:15
    at Script.runInContext (vm.js:133:20)
    at Object. (/run_dir/interp.js:156:20)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

Here, piping is not done in a proper order so, error is thrown.

Reference: https://nodejs.org/api/zlib.html#zlib_zlib_createbrotlicompress_options


Article Tags :