allow vendord
All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s

This commit is contained in:
2026-03-30 14:54:57 +07:00
parent 66aed7c4e8
commit b5e3a778ce
21316 changed files with 2777892 additions and 13 deletions

View File

@@ -0,0 +1,58 @@
<?php
namespace Spatie\LaravelIgnition\FlareMiddleware;
use Illuminate\Database\QueryException;
use Spatie\FlareClient\Contracts\ProvidesFlareContext;
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 ($throwable instanceof ProvidesFlareContext) {
// ProvidesFlareContext writes directly to context groups and is handled in the flare-client-php package.
return;
}
if (! method_exists($throwable, 'context')) {
return;
}
$context = $throwable->context();
if (! is_array($context)) {
return;
}
$exceptionContextGroup = [];
foreach ($context as $key => $value) {
$exceptionContextGroup[$key] = $value;
}
$report->group('exception', $exceptionContextGroup);
}
}