31 lines
811 B
PHP
Executable File
31 lines
811 B
PHP
Executable File
<?php
|
|
|
|
namespace Facade\Ignition\Middleware;
|
|
|
|
use Facade\FlareClient\Report;
|
|
use Facade\IgnitionContracts\SolutionProviderRepository;
|
|
|
|
class AddSolutions
|
|
{
|
|
/** @var \Facade\IgnitionContracts\SolutionProviderRepository */
|
|
protected $solutionProviderRepository;
|
|
|
|
public function __construct(SolutionProviderRepository $solutionProviderRepository)
|
|
{
|
|
$this->solutionProviderRepository = $solutionProviderRepository;
|
|
}
|
|
|
|
public function handle(Report $report, $next)
|
|
{
|
|
if ($throwable = $report->getThrowable()) {
|
|
$solutions = $this->solutionProviderRepository->getSolutionsForThrowable($throwable);
|
|
|
|
foreach ($solutions as $solution) {
|
|
$report->addSolution($solution);
|
|
}
|
|
}
|
|
|
|
return $next($report);
|
|
}
|
|
}
|