55use Gos \Bundle \WebSocketBundle \Client \ClientStorageInterface ;
66use Gos \Bundle \WebSocketBundle \Client \StorageException ;
77use Psr \Log \LoggerInterface ;
8+ use Symfony \Component \HttpKernel \Log \NullLogger ;
89use Symfony \Component \Security \Core \Authentication \Token \AnonymousToken ;
910use Symfony \Component \Security \Core \Authentication \Token \TokenInterface ;
1011use Symfony \Component \Security \Core \SecurityContextInterface ;
@@ -57,7 +58,7 @@ public function __construct(
5758 $ this ->clientStorage = $ clientStorage ;
5859 $ this ->firewalls = $ firewalls ;
5960 $ this ->securityContext = $ securityContext ;
60- $ this ->logger = $ logger ;
61+ $ this ->logger = null === $ logger ? new NullLogger () : $ logger ;
6162 $ this ->originChecker = $ originChecker ;
6263 }
6364
@@ -75,12 +76,10 @@ public function onClientConnect(ClientEvent $event)
7576 $ this ->logger ->warning (sprintf ('User firewall is not configured, we have set %s by default ' , $ this ->firewalls [0 ]));
7677 }
7778
78- if (null !== $ this ->logger ) {
79- $ loggerContext = array (
80- 'connection_id ' => $ conn ->resourceId ,
81- 'session_id ' => $ conn ->WAMP ->sessionId ,
82- );
83- }
79+ $ loggerContext = array (
80+ 'connection_id ' => $ conn ->resourceId ,
81+ 'session_id ' => $ conn ->WAMP ->sessionId ,
82+ );
8483
8584 $ token = null ;
8685
@@ -107,27 +106,22 @@ public function onClientConnect(ClientEvent $event)
107106 : $ user ;
108107
109108 try {
110- $ className = get_class ($ this ->clientStorage );
111- $ identifier = $ className ::getStorageId ($ conn , $ username );
109+ $ identifier = $ this ->clientStorage ->getStorageId ($ conn , $ username );
112110 $ loggerContext ['storage_id ' ] = $ identifier ;
113111
114112 $ this ->clientStorage ->addClient ($ identifier , $ user );
115113 $ conn ->WAMP ->clientStorageId = $ identifier ;
116114
117- if (null !== $ this ->logger ) {
118- $ this ->logger ->info (sprintf (
119- '%s connected [%] ' ,
120- $ username ,
121- $ user instanceof UserInterface ? implode (', ' , $ user ->getRoles ()) : array ()
122- ), $ loggerContext );
123- }
115+ $ this ->logger ->info (sprintf (
116+ '%s connected [%] ' ,
117+ $ username ,
118+ $ user instanceof UserInterface ? implode (', ' , $ user ->getRoles ()) : array ()
119+ ), $ loggerContext );
124120 } catch (StorageException $ e ) {
125- if (null !== $ this ->logger ) {
126- $ this ->logger ->error (
127- $ e ->getMessage (),
128- $ loggerContext
129- );
130- }
121+ $ this ->logger ->error (
122+ $ e ->getMessage (),
123+ $ loggerContext
124+ );
131125
132126 throw $ e ;
133127 }
@@ -149,29 +143,27 @@ public function onClientDisconnect(ClientEvent $event)
149143 ? $ user ->getUsername ()
150144 : $ user ;
151145
152- if ( null !== $ this -> logger ) {
153- $ this ->logger ->info (sprintf (
154- '%s disconnected [%] ' ,
155- $ username ,
156- $ user instanceof UserInterface ? implode (', ' , $ user ->getRoles ()) : array ()
157- ), array (
158- 'connection_id ' => $ conn ->resourceId ,
159- 'session_id ' => $ conn ->WAMP ->sessionId ,
160- 'storage_id ' => $ conn ->WAMP ->clientStorageId ,
161- ));
162- }
146+
147+ $ this ->logger ->info (sprintf (
148+ '%s disconnected [%] ' ,
149+ $ username ,
150+ $ user instanceof UserInterface ? implode (', ' , $ user ->getRoles ()) : array ()
151+ ), array (
152+ 'connection_id ' => $ conn ->resourceId ,
153+ 'session_id ' => $ conn ->WAMP ->sessionId ,
154+ 'storage_id ' => $ conn ->WAMP ->clientStorageId ,
155+ ));
156+
163157 } catch (StorageException $ e ) {
164- if (null !== $ this ->logger ) {
165- $ this ->logger ->info (sprintf (
166- '%s disconnected [%s] ' ,
167- 'Expired user ' ,
168- ''
169- ), array (
170- 'connection_id ' => $ conn ->resourceId ,
171- 'session_id ' => $ conn ->WAMP ->sessionId ,
172- 'storage_id ' => $ conn ->WAMP ->clientStorageId ,
173- ));
174- }
158+ $ this ->logger ->info (sprintf (
159+ '%s disconnected [%s] ' ,
160+ 'Expired user ' ,
161+ ''
162+ ), array (
163+ 'connection_id ' => $ conn ->resourceId ,
164+ 'session_id ' => $ conn ->WAMP ->sessionId ,
165+ 'storage_id ' => $ conn ->WAMP ->clientStorageId ,
166+ ));
175167 }
176168
177169 $ this ->clientStorage ->removeClient ($ conn ->resourceId );
@@ -187,34 +179,32 @@ public function onClientError(ClientErrorEvent $event)
187179 $ conn = $ event ->getConnection ();
188180 $ e = $ event ->getException ();
189181
190- if (null !== $ this ->logger ) {
191- $ loggerContext = array (
192- 'connection_id ' => $ conn ->resourceId ,
193- 'session_id ' => $ conn ->WAMP ->sessionId ,
194- );
195182
196- if ($ this ->clientStorage ->hasClient ($ conn ->resourceId )) {
197- $ loggerContext ['client ' ] = $ this ->clientStorage ->getClient ($ conn ->WAMP ->clientStorageId );
198- }
183+ $ loggerContext = array (
184+ 'connection_id ' => $ conn ->resourceId ,
185+ 'session_id ' => $ conn ->WAMP ->sessionId ,
186+ );
199187
200- $ this ->logger ->error (sprintf (
201- 'Connection error occurred %s in %s line %s ' ,
202- $ e ->getMessage (),
203- $ e ->getFile (),
204- $ e ->getLine ()
205- ), $ loggerContext );
188+ if ($ this ->clientStorage ->hasClient ($ conn ->resourceId )) {
189+ $ loggerContext ['client ' ] = $ this ->clientStorage ->getClient ($ conn ->WAMP ->clientStorageId );
206190 }
191+
192+ $ this ->logger ->error (sprintf (
193+ 'Connection error occurred %s in %s line %s ' ,
194+ $ e ->getMessage (),
195+ $ e ->getFile (),
196+ $ e ->getLine ()
197+ ), $ loggerContext );
198+
207199 }
208200
209201 /**
210202 * @param ClientRejectedEvent $event
211203 */
212204 public function onClientRejected (ClientRejectedEvent $ event )
213205 {
214- if (null !== $ this ->logger ) {
215- $ this ->logger ->warning ('Client rejected, bad origin ' , [
216- 'origin ' => $ event ->getOrigin (),
217- ]);
218- }
206+ $ this ->logger ->warning ('Client rejected, bad origin ' , [
207+ 'origin ' => $ event ->getOrigin (),
208+ ]);
219209 }
220210}
0 commit comments