diff --git a/src/Dump.php b/src/Dump.php index feae2a7..24fd01b 100644 --- a/src/Dump.php +++ b/src/Dump.php @@ -35,7 +35,7 @@ class Dump { $data = $this->getDumpContent(); return << +
 
[ file: {$this->trace['file']}:{$this->trace['line']} ]
$data
diff --git a/src/DumpMiddleware.php b/src/DumpMiddleware.php index 5d1b0c1..4b82387 100644 --- a/src/DumpMiddleware.php +++ b/src/DumpMiddleware.php @@ -7,10 +7,7 @@ namespace Dump { Psr\Http\Server\RequestHandlerInterface, Psr\Http\Message\ResponseInterface; - use Laminas\Diactoros\Response, - Laminas\Diactoros\Stream, - Laminas\Diactoros\Response\JsonResponse, - Laminas\Diactoros\Response\HtmlResponse; + use Laminas\Diactoros\{ Response, Stream, Response\JsonResponse, Response\HtmlResponse, Response\TextResponse }; use function stream_copy_to_stream; @@ -42,14 +39,25 @@ namespace Dump { }; switch (true) { + case $response instanceof TextResponse: + $body = $response->getBody(); + + foreach(static::$dump_stack as $item) { + $stream->write($item->renderText()); + } + + $stream->append_resource($body->detach()); + break; + case $response instanceof JsonResponse: foreach(static::$dump_stack as $item) { $dump[] = $item->renderArray(); } $stream->write(json_encode(array_merge([ "_dump" => $dump ?? [] ], json_decode($response->getBody()->getContents() ?? "{}", true)), JsonResponse::DEFAULT_JSON_FLAGS)); - break; + break; + default: case $response instanceof Response: $body = $response->getBody(); @@ -58,7 +66,7 @@ namespace Dump { } $stream->append_resource($body->detach()); - break; + break; } return $response->withBody($stream);