@@ -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