/
home
/
obinna
/
html
/
boaz2
/
vendor
/
php-http
/
client-common
/
src
/
Plugin
/
Upload File
HOME
<?php declare(strict_types=1); namespace Http\Client\Common\Plugin; use Http\Message\Stream\BufferedStream; use Http\Promise\Promise; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; /** * Allow body used in response to be always seekable. * * @author Joel Wurtz <joel.wurtz@gmail.com> */ final class ResponseSeekableBodyPlugin extends SeekableBodyPlugin { /** * {@inheritdoc} */ public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise { return $next($request)->then(function (ResponseInterface $response) { if ($response->getBody()->isSeekable()) { return $response; } return $response->withBody(new BufferedStream($response->getBody(), $this->useFileBuffer, $this->memoryBufferSize)); }); } }