This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | /* |
||
4 | * This file is part of the NatsBundle package. |
||
5 | * |
||
6 | * (c) Issel Guberna <[email protected]> |
||
7 | * |
||
8 | * For the full copyright and license information, please view the LICENSE |
||
9 | * file that was distributed with this source code. |
||
10 | */ |
||
11 | |||
12 | namespace Octante\NatsBundle\Connection; |
||
13 | |||
14 | class ConnectionWrapper |
||
15 | { |
||
16 | /** |
||
17 | * @var |
||
18 | */ |
||
19 | private $connection; |
||
20 | |||
21 | /** |
||
22 | * @var |
||
23 | */ |
||
24 | private $logger; |
||
25 | |||
26 | /** |
||
27 | * @param $connection |
||
28 | * @param $logger |
||
29 | */ |
||
30 | public function __construct($connection, $logger) |
||
31 | { |
||
32 | $this->connection = $connection; |
||
33 | $this->logger = $logger; |
||
34 | } |
||
35 | |||
36 | /** |
||
37 | * Return the number of pings. |
||
38 | * |
||
39 | * @return int Number of pings |
||
40 | */ |
||
41 | public function pingsCount() |
||
42 | { |
||
43 | return $this->connection->pingsCount(); |
||
44 | } |
||
45 | |||
46 | /** |
||
47 | * Return the number of messages published. |
||
48 | * |
||
49 | * @return int number of messages published |
||
50 | */ |
||
51 | public function pubsCount() |
||
52 | { |
||
53 | return $this->connection->pubsCount(); |
||
54 | } |
||
55 | |||
56 | /** |
||
57 | * Return the number of reconnects to the server. |
||
58 | * |
||
59 | * @return int number of reconnects |
||
60 | */ |
||
61 | public function reconnectsCount() |
||
62 | { |
||
63 | return $this->connection->reconnectsCount(); |
||
64 | } |
||
65 | |||
66 | /** |
||
67 | * Return the number of subscriptions available. |
||
68 | * |
||
69 | * @return int number of subscription |
||
70 | */ |
||
71 | public function subscriptionsCount() |
||
72 | { |
||
73 | return $this->connection->subscriptionsCount(); |
||
74 | } |
||
75 | |||
76 | /** |
||
77 | * Return subscriptions list. |
||
78 | * |
||
79 | * @return array list of subscription ids |
||
80 | */ |
||
81 | public function getSubscriptions() |
||
82 | { |
||
83 | return $this->connection->getSubscriptions(); |
||
84 | } |
||
85 | |||
86 | /** |
||
87 | * Checks if the client is connected to a server. |
||
88 | * |
||
89 | * @return boolean |
||
90 | */ |
||
91 | public function isConnected() |
||
92 | { |
||
93 | return $this->connection->isConnected(); |
||
94 | } |
||
95 | |||
96 | /** |
||
97 | * Connect to server. |
||
98 | * |
||
99 | * @param integer $timeout Number of seconds until the connect() system call should timeout. |
||
100 | * |
||
101 | * @throws \Exception Exception raised if connection fails. |
||
102 | * |
||
103 | * @return void |
||
104 | */ |
||
105 | public function connect($timeout = null) |
||
106 | { |
||
107 | $this->connection->connect($timeout); |
||
108 | } |
||
109 | |||
110 | /** |
||
111 | * Sends PING message. |
||
112 | * |
||
113 | * @return void |
||
114 | */ |
||
115 | public function ping() |
||
116 | { |
||
117 | $startTime = microtime(true); |
||
118 | $this->connection->ping(); |
||
119 | $duration = (microtime(true) - $startTime) * 1000; |
||
120 | $this->logger->logCommand('PING: ', $duration, $this->connection, false); |
||
121 | } |
||
122 | |||
123 | /** |
||
124 | * Request does a request and executes a callback with the response. |
||
125 | * |
||
126 | * @param string $subject Message topic. |
||
127 | * @param string $payload Message data. |
||
128 | * @param mixed $callback Closure to be executed as callback. |
||
129 | * @param integer $wait Number of messages to wait for. |
||
130 | * |
||
131 | * @return void |
||
132 | */ |
||
133 | View Code Duplication | public function request($subject, $payload, $callback, $wait = 1) |
|
0 ignored issues
–
show
|
|||
134 | { |
||
135 | $startTime = microtime(true); |
||
136 | $this->connection->request($subject, $payload, $callback, $wait); |
||
137 | $duration = (microtime(true) - $startTime) * 1000; |
||
138 | $this->logger->logCommand('REQUEST: ', $duration, $this->connection, false); |
||
139 | } |
||
140 | |||
141 | /** |
||
142 | * Publish publishes the data argument to the given subject. |
||
143 | * |
||
144 | * @param string $subject Message topic. |
||
145 | * @param string $payload Message data. |
||
146 | * |
||
147 | * @return void |
||
148 | */ |
||
149 | View Code Duplication | public function publish($subject, $payload) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
150 | { |
||
151 | $startTime = microtime(true); |
||
152 | $this->connection->publish($subject, $payload); |
||
153 | $duration = (microtime(true) - $startTime) * 1000; |
||
154 | $this->logger->logCommand('PUBLISH: ' . $subject, $duration, $this->connection, false); |
||
155 | } |
||
156 | |||
157 | /** |
||
158 | * Subscribes to an specific event given a subject. |
||
159 | * |
||
160 | * @param string $subject Message topic. |
||
161 | * @param \Closure $callback Closure to be executed as callback. |
||
162 | * |
||
163 | * @return string |
||
164 | */ |
||
165 | View Code Duplication | public function subscribe($subject, \Closure $callback) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
166 | { |
||
167 | $startTime = microtime(true); |
||
168 | $result = $this->connection->subscribe($subject, $callback); |
||
169 | $duration = (microtime(true) - $startTime) * 1000; |
||
170 | $this->logger->logCommand('SUBSCRIBE: ' . $subject, $duration, $this->connection, false); |
||
171 | return $result; |
||
172 | } |
||
173 | |||
174 | /** |
||
175 | * Unsubscribe from a event given a subject. |
||
176 | * |
||
177 | * @param string $sid Subscription ID. |
||
178 | * |
||
179 | * @return void |
||
180 | */ |
||
181 | View Code Duplication | public function unsubscribe($sid) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
182 | { |
||
183 | $startTime = microtime(true); |
||
184 | $this->connection->unsubscribe($sid); |
||
185 | $duration = (microtime(true) - $startTime) * 1000; |
||
186 | $this->logger->logCommand('UNSUBSCRIBE: ' . $sid, $duration, $this->connection, false); |
||
187 | } |
||
188 | |||
189 | /** |
||
190 | * Waits for messages. |
||
191 | * |
||
192 | * @param integer $quantity Number of messages to wait for. |
||
193 | * |
||
194 | * @return resource $connection Connection object |
||
195 | */ |
||
196 | public function wait($quantity = 0) |
||
197 | { |
||
198 | return $this->connection->wait($quantity); |
||
199 | } |
||
200 | |||
201 | /** |
||
202 | * Set Stream Timeout. |
||
203 | * |
||
204 | * @param integer $seconds Before timeout on stream. |
||
205 | * |
||
206 | * @return boolean |
||
207 | */ |
||
208 | public function setStreamTimeout($seconds) |
||
209 | { |
||
210 | return $this->connection->setStreamTimeout($seconds); |
||
211 | } |
||
212 | |||
213 | /** |
||
214 | * Reconnects to the server. |
||
215 | * |
||
216 | * @return void |
||
217 | */ |
||
218 | public function reconnect() |
||
219 | { |
||
220 | $this->connection->reconnect(); |
||
221 | } |
||
222 | |||
223 | /** |
||
224 | * Close will close the connection to the server. |
||
225 | * |
||
226 | * @return void |
||
227 | */ |
||
228 | public function close() |
||
229 | { |
||
230 | $this->connection->close(); |
||
231 | } |
||
232 | } |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.