@@ 16-29 (lines=14) @@ | ||
13 | * |
|
14 | * @author Joel Wurtz <[email protected]> |
|
15 | */ |
|
16 | final class RequestSeekableBodyPlugin extends SeekableBodyPlugin |
|
17 | { |
|
18 | /** |
|
19 | * {@inheritdoc} |
|
20 | */ |
|
21 | public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise |
|
22 | { |
|
23 | if (!$request->getBody()->isSeekable()) { |
|
24 | $request = $request->withBody(new BufferedStream($request->getBody(), $this->useFileBuffer, $this->memoryBufferSize)); |
|
25 | } |
|
26 | ||
27 | return $next($request); |
|
28 | } |
|
29 | } |
|
30 |
@@ 17-32 (lines=16) @@ | ||
14 | * |
|
15 | * @author Joel Wurtz <[email protected]> |
|
16 | */ |
|
17 | final class ResponseSeekableBodyPlugin extends SeekableBodyPlugin |
|
18 | { |
|
19 | /** |
|
20 | * {@inheritdoc} |
|
21 | */ |
|
22 | public function handleRequest(RequestInterface $request, callable $next, callable $first): Promise |
|
23 | { |
|
24 | return $next($request)->then(function (ResponseInterface $response) { |
|
25 | if ($response->getBody()->isSeekable()) { |
|
26 | return $response; |
|
27 | } |
|
28 | ||
29 | return $response->withBody(new BufferedStream($response->getBody(), $this->useFileBuffer, $this->memoryBufferSize)); |
|
30 | }); |
|
31 | } |
|
32 | } |
|
33 |