HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: /home4/cca63905/public_html/nueva/modules/ps_eventbus/src/Service/CompressionService.php
<?php

namespace PrestaShop\Module\PsEventbus\Service;

use PrestaShop\Module\PsEventbus\Formatter\JsonFormatter;

class CompressionService
{
    /**
     * @var JsonFormatter
     */
    private $jsonFormatter;

    public function __construct(JsonFormatter $jsonFormatter)
    {
        $this->jsonFormatter = $jsonFormatter;
    }

    /**
     * Compresses data with gzip
     *
     * @param array<mixed> $data
     *
     * @return string
     *
     * @@throws \Exception
     */
    public function gzipCompressData($data)
    {
        if (!extension_loaded('zlib')) {
            throw new \Exception('Zlib extension for PHP is not enabled');
        }

        $dataJson = $this->jsonFormatter->formatNewlineJsonString($data);

        if (!$encodedData = gzencode($dataJson)) {
            throw new \Exception('Failed encoding data to GZIP');
        }

        return $encodedData;
    }
}