diff --git a/Neos.Flow/Classes/Mvc/ActionResponse.php b/Neos.Flow/Classes/Mvc/ActionResponse.php index 8671eda844..32007f53e4 100644 --- a/Neos.Flow/Classes/Mvc/ActionResponse.php +++ b/Neos.Flow/Classes/Mvc/ActionResponse.php @@ -198,7 +198,9 @@ public function getHttpHeader(string $headerName) public function getContent(): string { $content = $this->content->getContents(); - $this->content->rewind(); + if ($this->content->isSeekable()) { + $this->content->rewind(); + } return $content; } diff --git a/Neos.Http.Factories/Classes/StreamFactoryTrait.php b/Neos.Http.Factories/Classes/StreamFactoryTrait.php index 6c79adcc84..8ea6d2c98b 100644 --- a/Neos.Http.Factories/Classes/StreamFactoryTrait.php +++ b/Neos.Http.Factories/Classes/StreamFactoryTrait.php @@ -3,8 +3,8 @@ namespace Neos\Http\Factories; +use GuzzleHttp\Psr7\BufferStream; use GuzzleHttp\Psr7\Stream; -use Psr\Http\Message\StreamFactoryInterface; use Psr\Http\Message\StreamInterface; /** @@ -17,11 +17,9 @@ trait StreamFactoryTrait */ public function createStream(string $content = ''): StreamInterface { - $fileHandle = fopen('php://temp', 'r+'); - fwrite($fileHandle, $content); - rewind($fileHandle); - - return $this->createStreamFromResource($fileHandle); + $stream = new BufferStream(); + $stream->write($content); + return $stream; } /**