. * * @link https://www.librenms.org * * @copyright 2022 Tony Murray * @author Tony Murray */ namespace App\Logging\Reporting\Middleware; use Spatie\FlareClient\Report; class CleanContext implements \Spatie\FlareClient\FlareMiddleware\FlareMiddleware { /** * Middleware to remove sensitive data from the context. * * @param \Spatie\FlareClient\Report $report * @param callable $next * @return mixed */ public function handle(Report $report, $next) { try { $report->setApplicationPath(''); $context = $report->allContext(); if (isset($context['request']['url'])) { $context['request']['url'] = str_replace($context['headers']['host'] ?? '', 'librenms', $context['request']['url']); } if (isset($context['session']['url']['intended'])) { $context['session']['url']['intended'] = str_replace($context['headers']['host'] ?? '', 'librenms', $context['session']['url']['intended']); } if (isset($context['session']['_previous']['url'])) { $context['session']['_previous']['url'] = str_replace($context['headers']['host'] ?? '', 'librenms', $context['session']['_previous']['url']); } $context['headers']['host'] = null; $context['headers']['referer'] = null; $report->userProvidedContext($context); } catch (\Exception $e) { } return $next($report); } }