diff --git a/src/Intervention/Image/Commands/StreamCommand.php b/src/Intervention/Image/Commands/StreamCommand.php index 111c4756..bc2ff9ef 100644 --- a/src/Intervention/Image/Commands/StreamCommand.php +++ b/src/Intervention/Image/Commands/StreamCommand.php @@ -15,11 +15,25 @@ class StreamCommand extends AbstractCommand { $format = $this->argument(0)->value(); $quality = $this->argument(1)->between(0, 100)->value(); + $data = $image->encode($format, $quality)->getEncoded(); - $this->setOutput(\GuzzleHttp\Psr7\stream_for( - $image->encode($format, $quality)->getEncoded() - )); + $this->setOutput($this->getStream($data)); return true; } -} \ No newline at end of file + + /** + * Create stream from given data + * + * @param string $data + * @return \Psr\Http\Message\StreamInterface + */ + protected function getStream($data) + { + if (class_exists(\GuzzleHttp\Psr7\Utils::class)) { + return \GuzzleHttp\Psr7\Utils::streamFor($data); // guzzlehttp/psr7 >= 2.0 + } + + return \GuzzleHttp\Psr7\stream_for($data); // guzzlehttp/psr7 < 2.0 + } +}