Compatibilidade APIs Node.js - Zlib

O módulo zlib no Node.js fornece um conjunto de utilitários de compressão e descompressão para manipular dados em vários formatos. Ele é construído sobre a biblioteca zlib, que é amplamente utilizada para compressão de dados, e permite que os desenvolvedores comprimam e descomprimam fluxos de dados de forma eficiente, tornando-se essencial para otimizar o armazenamento e a transmissão de rede.

/**
* An example of using Node.js Zlib API in an Azion Edge Function.
* Support:
* - Partially supported (Extended by library `browserify-zlib`)
* @module runtime-apis/nodejs/zlib/main
* @example
* // Execute with Azion Bundler:
* npx edge-functions build
*
*/
import zlib from "node:zlib";
/**
* An example of using the Node.js Zlib API in an Azion Edge Function.
* @param {*} event
* @returns {Promise<Response>}
*/
const main = async (event) => {
const body = event.body ?? "Hello, World!";
const output = zlib.gzipSync(body);
// decode
const decom = zlib.gunzipSync(Buffer.from(output)).toString();
console.log(decom);
return new Response(output.toString("base64"), {
headers: {
"Content-Type": "application/octet-stream",
"Content-Encoding": "gzip",
},
});
};
export default main;

Contribuidores