- Fixed Whoops error messages not showing

This commit is contained in:
Dave M. 2023-02-01 18:51:47 +00:00
parent 6af3c33b7d
commit abb0ad3a6a
2 changed files with 6 additions and 11 deletions

View File

@ -38,7 +38,7 @@ class Dump {
$this->trace['line'] ??= "?";
return <<<HTML
<pre style='-webkit-overflow-scrolling: touch;background-color: #f5f5f5;color: #4a4a4a;font-size: 12px;line-height:18px;overflow-x: auto;padding: 0.5rem 1.5rem;word-wrap: normal;white-space: pre;margin:0.33rem 0;position: relative;z-index:9000000000;'>
<pre style='-webkit-overflow-scrolling: touch;background-color: #f5f5f5;color: #4a4a4a;font-size: 12px;line-height:18px;overflow-x: auto;padding: 0.5rem 1.5rem;word-wrap: normal;white-space: pre;margin:0.33rem 0;position: relative;z-index:9999999999;'>
<div style='color:#9f9f9f;font-size:10px;' title='{$this->trace['file']}'>[ file: {$this->trace['file']}:{$this->trace['line']} ]</div>
$data
</pre>

View File

@ -28,20 +28,17 @@ namespace Dump {
{
$response = $handler->handle($request);
/*if ( empty(static::$dump_stack) ) {
return $response;
}*/
$stream = new class("php://memory", "rw") extends Stream {
public function append_resource($resource) {
stream_copy_to_stream($resource, $this->resource);
}
};
$body = $response->getBody();
$body->rewind();
switch (true) {
case $response instanceof TextResponse:
$body = $response->getBody();
foreach(static::$dump_stack as $item) {
$stream->write($item->renderText());
}
@ -54,19 +51,17 @@ namespace Dump {
$dump[] = $item->renderArray();
}
$stream->write(json_encode(array_merge([ "_dump" => $dump ?? [] ], json_decode($response->getBody()->getContents() ?? "{}", true)), JsonResponse::DEFAULT_JSON_FLAGS));
$stream->write(json_encode(array_merge([ "_dump" => $dump ?? [] ], json_decode($body->getContents() ?? "{}", true)), JsonResponse::DEFAULT_JSON_FLAGS));
break;
case $response instanceof HtmlResponse:
$stream->write(<<<HTML
<span style="position:fixed;right:0;bottom:0;color:#4b4b4b;padding:2px 6px;z-index:99999;pointer-events:none;opacity:0.6;font-size:0.8em">env: DEV</span>
<span style="position:fixed;right:0;bottom:0;color:#4b4b4b;padding:2px 6px;z-index:99999999999;pointer-events:none;opacity:0.6;font-size:0.8em">env: DEV</span>
HTML);
# no break;
default:
case $response instanceof Response:
$body = $response->getBody();
foreach(static::$dump_stack as $item) {
$stream->write($item->renderHtml());
}