PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
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 / http-kernel / DataCollector / RouterDataCollector.php
matomo / app / vendor / prefixed / symfony / http-kernel / DataCollector Last commit date
AjaxDataCollector.php 2 years ago ConfigDataCollector.php 1 year ago DataCollector.php 2 years ago DataCollectorInterface.php 2 years ago DumpDataCollector.php 1 year ago EventDataCollector.php 2 years ago ExceptionDataCollector.php 2 years ago LateDataCollectorInterface.php 2 years ago LoggerDataCollector.php 1 year ago MemoryDataCollector.php 1 year ago RequestDataCollector.php 1 year ago RouterDataCollector.php 1 year ago TimeDataCollector.php 1 year ago
RouterDataCollector.php
91 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\Component\HttpKernel\DataCollector;
12
13 use Matomo\Dependencies\Symfony\Component\HttpFoundation\RedirectResponse;
14 use Matomo\Dependencies\Symfony\Component\HttpFoundation\Request;
15 use Matomo\Dependencies\Symfony\Component\HttpFoundation\Response;
16 use Matomo\Dependencies\Symfony\Component\HttpKernel\Event\ControllerEvent;
17 /**
18 * @author Fabien Potencier <fabien@symfony.com>
19 */
20 class RouterDataCollector extends DataCollector
21 {
22 /**
23 * @var \SplObjectStorage<Request, callable>
24 */
25 protected $controllers;
26 public function __construct()
27 {
28 $this->reset();
29 }
30 /**
31 * {@inheritdoc}
32 *
33 * @final
34 */
35 public function collect(Request $request, Response $response, ?\Throwable $exception = null)
36 {
37 if ($response instanceof RedirectResponse) {
38 $this->data['redirect'] = \true;
39 $this->data['url'] = $response->getTargetUrl();
40 if ($this->controllers->contains($request)) {
41 $this->data['route'] = $this->guessRoute($request, $this->controllers[$request]);
42 }
43 }
44 unset($this->controllers[$request]);
45 }
46 public function reset()
47 {
48 $this->controllers = new \SplObjectStorage();
49 $this->data = ['redirect' => \false, 'url' => null, 'route' => null];
50 }
51 protected function guessRoute(Request $request, $controller)
52 {
53 return 'n/a';
54 }
55 /**
56 * Remembers the controller associated to each request.
57 */
58 public function onKernelController(ControllerEvent $event)
59 {
60 $this->controllers[$event->getRequest()] = $event->getController();
61 }
62 /**
63 * @return bool Whether this request will result in a redirect
64 */
65 public function getRedirect()
66 {
67 return $this->data['redirect'];
68 }
69 /**
70 * @return string|null
71 */
72 public function getTargetUrl()
73 {
74 return $this->data['url'];
75 }
76 /**
77 * @return string|null
78 */
79 public function getTargetRoute()
80 {
81 return $this->data['route'];
82 }
83 /**
84 * {@inheritdoc}
85 */
86 public function getName()
87 {
88 return 'router';
89 }
90 }
91