• File: ZlibHeaderTransformStream.js
  • Full Path: /var/www/nodejs/simo_meps_file_script/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js
  • Date Modified: 02/28/2025 8:55 PM
  • File size: 681 bytes
  • MIME-type: text/x-java
  • Charset: utf-8
"use strict";

import stream from "stream";

class ZlibHeaderTransformStream extends stream.Transform {
  __transform(chunk, encoding, callback) {
    this.push(chunk);
    callback();
  }

  _transform(chunk, encoding, callback) {
    if (chunk.length !== 0) {
      this._transform = this.__transform;

      // Add Default Compression headers if no zlib headers are present
      if (chunk[0] !== 120) { // Hex: 78
        const header = Buffer.alloc(2);
        header[0] = 120; // Hex: 78
        header[1] = 156; // Hex: 9C 
        this.push(header, encoding);
      }
    }

    this.__transform(chunk, encoding, callback);
  }
}

export default ZlibHeaderTransformStream;