*/ class CompressStream extends FilteredStream { /** * @param StreamInterface $stream * @param int $level */ public function __construct(StreamInterface $stream, $level = -1) { if (!extension_loaded('zlib')) { throw new \RuntimeException('The zlib extension must be enabled to use this stream'); } parent::__construct($stream, ['window' => 15, 'level' => $level], ['window' => 15]); } /** * {@inheritdoc} */ protected function readFilter() { return 'zlib.deflate'; } /** * {@inheritdoc} */ protected function writeFilter() { return 'zlib.inflate'; } }