Skip to content

Commit 469736d

Browse files
committed
refactor: Simplified class structure
1 parent 8e3866e commit 469736d

File tree

1 file changed

+33
-10
lines changed

1 file changed

+33
-10
lines changed

src/EventSubscriber/RequestSubscriber.php

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ class RequestSubscriber
2929
private $logger;
3030

3131
/**
32-
* @var UserInterface|ApplicationUser|ApiKeyUser|null
32+
* @var TokenStorageInterface
3333
*/
34-
private $user;
34+
private $tokenStorage;
3535

3636
/**
3737
* RequestSubscriber constructor.
@@ -43,10 +43,7 @@ public function __construct(RequestLogger $requestLogger, TokenStorageInterface
4343
{
4444
// Store logger service
4545
$this->logger = $requestLogger;
46-
47-
$token = $tokenStorage->getToken();
48-
49-
$this->user = ($token === null || $token instanceof AnonymousToken) ? null : $token->getUser();
46+
$this->tokenStorage = $tokenStorage;
5047
}
5148

5249
/**
@@ -65,21 +62,47 @@ public function onKernelResponse(FilterResponseEvent $event): void
6562
return;
6663
}
6764

65+
$this->process($event);
66+
}
67+
68+
/**
69+
* Method to process current request event.
70+
*
71+
* @param FilterResponseEvent $event
72+
*
73+
* @throws \Exception
74+
*/
75+
private function process(FilterResponseEvent $event): void
76+
{
77+
$request = $event->getRequest();
78+
6879
// Set needed data to logger and handle actual log
6980
$this->logger->setRequest($request);
7081
$this->logger->setResponse($event->getResponse());
7182

72-
$user = $this->user;
83+
$user = $this->getUser();
7384

74-
if ($this->user instanceof ApplicationUser) {
85+
if ($user instanceof ApplicationUser) {
7586
/** @var UserInterface $user */
7687
$this->logger->setUser($user);
77-
} elseif ($this->user instanceof ApiKeyUser) {
78-
/** @var ApiKeyUser|UserInterface $user */
88+
} elseif ($user instanceof ApiKeyUser) {
89+
/** @var ApiKeyUser $user */
7990
$this->logger->setApiKey($user->getApiKey());
8091
}
8192

8293
$this->logger->setMasterRequest($event->isMasterRequest());
8394
$this->logger->handle();
8495
}
96+
97+
/**
98+
* Method to get current user from token storage.
99+
*
100+
* @return null|UserInterface|ApplicationUser|ApiKeyUser
101+
*/
102+
private function getUser()
103+
{
104+
$token = $this->tokenStorage->getToken();
105+
106+
return ($token === null || $token instanceof AnonymousToken) ? null : $token->getUser();
107+
}
85108
}

0 commit comments

Comments
 (0)