PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.12.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.12.1
5.12.1 5.12.0 5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / prefixed / symfony / monolog-bridge / Processor / RouteProcessor.php
matomo / app / vendor / prefixed / symfony / monolog-bridge / Processor Last commit date
AbstractTokenProcessor.php 1 year ago ConsoleCommandProcessor.php 1 year ago DebugProcessor.php 1 year ago RouteProcessor.php 1 year ago SwitchUserTokenProcessor.php 2 years ago TokenProcessor.php 2 years ago WebProcessor.php 2 years ago
RouteProcessor.php
70 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Matomo\Dependencies\Symfony\Bridge\Monolog\Processor;
12
13 use Matomo\Dependencies\Symfony\Component\EventDispatcher\EventSubscriberInterface;
14 use Matomo\Dependencies\Symfony\Component\HttpKernel\Event\FinishRequestEvent;
15 use Matomo\Dependencies\Symfony\Component\HttpKernel\Event\RequestEvent;
16 use Matomo\Dependencies\Symfony\Component\HttpKernel\KernelEvents;
17 use Matomo\Dependencies\Symfony\Contracts\Service\ResetInterface;
18 /**
19 * Adds the current route information to the log entry.
20 *
21 * @author Piotr Stankowski <git@trakos.pl>
22 *
23 * @final
24 */
25 class RouteProcessor implements EventSubscriberInterface, ResetInterface
26 {
27 private $routeData;
28 private $includeParams;
29 public function __construct(bool $includeParams = \true)
30 {
31 $this->includeParams = $includeParams;
32 $this->reset();
33 }
34 public function __invoke(array $records) : array
35 {
36 if ($this->routeData && !isset($records['extra']['requests'])) {
37 $records['extra']['requests'] = array_values($this->routeData);
38 }
39 return $records;
40 }
41 public function reset()
42 {
43 $this->routeData = [];
44 }
45 public function addRouteData(RequestEvent $event)
46 {
47 if ($event->isMainRequest()) {
48 $this->reset();
49 }
50 $request = $event->getRequest();
51 if (!$request->attributes->has('_controller')) {
52 return;
53 }
54 $currentRequestData = ['controller' => $request->attributes->get('_controller'), 'route' => $request->attributes->get('_route')];
55 if ($this->includeParams) {
56 $currentRequestData['route_params'] = $request->attributes->get('_route_params');
57 }
58 $this->routeData[spl_object_id($request)] = $currentRequestData;
59 }
60 public function removeRouteData(FinishRequestEvent $event)
61 {
62 $requestId = spl_object_id($event->getRequest());
63 unset($this->routeData[$requestId]);
64 }
65 public static function getSubscribedEvents() : array
66 {
67 return [KernelEvents::REQUEST => ['addRouteData', 1], KernelEvents::FINISH_REQUEST => ['removeRouteData', 1]];
68 }
69 }
70