WpOrg\Requests

Requests::decompress()public staticWP 1.0

Decompress an encoded body

Implements gzip, compress and deflate. Guesses which it is by attempting to decode.

Method of the class: Requests{}

No Hooks.

Return

String. Decompressed string

Usage

$result = Requests::decompress( $data );
$data(string) (required)
Compressed data in one of the above formats

Requests::decompress() code WP 6.6.2

public static function decompress($data) {
	if (is_string($data) === false) {
		throw InvalidArgument::create(1, '$data', 'string', gettype($data));
	}

	if (trim($data) === '') {
		// Empty body does not need further processing.
		return $data;
	}

	$marker = substr($data, 0, 2);
	if (!isset(self::$magic_compression_headers[$marker])) {
		// Not actually compressed. Probably cURL ruining this for us.
		return $data;
	}

	if (function_exists('gzdecode')) {
		$decoded = @gzdecode($data);
		if ($decoded !== false) {
			return $decoded;
		}
	}

	if (function_exists('gzinflate')) {
		$decoded = @gzinflate($data);
		if ($decoded !== false) {
			return $decoded;
		}
	}

	$decoded = self::compatible_gzinflate($data);
	if ($decoded !== false) {
		return $decoded;
	}

	if (function_exists('gzuncompress')) {
		$decoded = @gzuncompress($data);
		if ($decoded !== false) {
			return $decoded;
		}
	}

	return $data;
}