diff options
Diffstat (limited to 'server/vendor/guzzlehttp/psr7/src/InflateStream.php')
| -rw-r--r-- | server/vendor/guzzlehttp/psr7/src/InflateStream.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/server/vendor/guzzlehttp/psr7/src/InflateStream.php b/server/vendor/guzzlehttp/psr7/src/InflateStream.php new file mode 100644 index 0000000..2c8628b --- /dev/null +++ b/server/vendor/guzzlehttp/psr7/src/InflateStream.php @@ -0,0 +1,29 @@ +<?php +namespace GuzzleHttp\Psr7; + +use Psr\Http\Message\StreamInterface; + +/** + * Uses PHP's zlib.inflate filter to inflate deflate or gzipped content. + * + * This stream decorator skips the first 10 bytes of the given stream to remove + * the gzip header, converts the provided stream to a PHP stream resource, + * then appends the zlib.inflate filter. The stream is then converted back + * to a Guzzle stream resource to be used as a Guzzle stream. + * + * @link http://tools.ietf.org/html/rfc1952 + * @link http://php.net/manual/en/filters.compression.php + */ +class InflateStream implements StreamInterface +{ + use StreamDecoratorTrait; + + public function __construct(StreamInterface $stream) + { + // Skip the first 10 bytes + $stream = new LimitStream($stream, -1, 10); + $resource = StreamWrapper::getResource($stream); + stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ); + $this->stream = new Stream($resource); + } +} |
