init
This commit is contained in:
50
vendor/spatie/laravel-ignition/src/FlareMiddleware/AddExceptionInformation.php
vendored
Normal file
50
vendor/spatie/laravel-ignition/src/FlareMiddleware/AddExceptionInformation.php
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace Spatie\LaravelIgnition\FlareMiddleware;
|
||||
|
||||
use Illuminate\Database\QueryException;
|
||||
use Spatie\FlareClient\FlareMiddleware\FlareMiddleware;
|
||||
use Spatie\FlareClient\Report;
|
||||
|
||||
class AddExceptionInformation implements FlareMiddleware
|
||||
{
|
||||
public function handle(Report $report, $next)
|
||||
{
|
||||
$throwable = $report->getThrowable();
|
||||
|
||||
$this->addUserDefinedContext($report);
|
||||
|
||||
if (! $throwable instanceof QueryException) {
|
||||
return $next($report);
|
||||
}
|
||||
|
||||
$report->group('exception', [
|
||||
'raw_sql' => $throwable->getSql(),
|
||||
]);
|
||||
|
||||
return $next($report);
|
||||
}
|
||||
|
||||
private function addUserDefinedContext(Report $report): void
|
||||
{
|
||||
$throwable = $report->getThrowable();
|
||||
|
||||
if ($throwable === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (! method_exists($throwable, 'context')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$context = $throwable->context();
|
||||
|
||||
if (! is_array($context)) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($context as $key => $value) {
|
||||
$report->context($key, $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user