@@ -21,10 +21,10 @@ |
||
21 | 21 | const HEADER_HTTP1_1 = 'HTTP/1.1 101 Web Socket Protocol Handshake'; |
22 | 22 | const HEADER_WEBSOCKET_ACCEPT_HASH = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'; |
23 | 23 | const HEADERS_UPGRADE_KEY = 'Upgrade', |
24 | - HEADERS_CONNECTION_KEY = 'Connection', |
|
25 | - HEADERS_SEC_WEBSOCKET_ACCEPT_KEY = 'Sec-WebSocket-Accept'; |
|
24 | + HEADERS_CONNECTION_KEY = 'Connection', |
|
25 | + HEADERS_SEC_WEBSOCKET_ACCEPT_KEY = 'Sec-WebSocket-Accept'; |
|
26 | 26 | const HEADERS_UPGRADE_VALUE = 'websocket', |
27 | - HEADERS_CONNECTION_VALUE = 'Upgrade'; |
|
27 | + HEADERS_CONNECTION_VALUE = 'Upgrade'; |
|
28 | 28 | const HEADERS_EOL = "\r\n"; |
29 | 29 | const SEC_WEBSOCKET_KEY_PTRN = '/Sec-WebSocket-Key:\s(.*)\n/'; |
30 | 30 |
@@ -312,7 +312,7 @@ |
||
312 | 312 | } |
313 | 313 | |
314 | 314 | $key = $match[1]; |
315 | - $this->handshakes[(int)$client] = $key; |
|
315 | + $this->handshakes[(int) $client] = $key; |
|
316 | 316 | // sending header according to WebSocket Protocol |
317 | 317 | $secWebSocketAccept = base64_encode(sha1(trim($key) . self::HEADER_WEBSOCKET_ACCEPT_HASH, true)); |
318 | 318 | $this->setHeadersUpgrade($secWebSocketAccept); |
@@ -111,7 +111,7 @@ discard block |
||
111 | 111 | } |
112 | 112 | |
113 | 113 | /** |
114 | - * @return mixed|resource |
|
114 | + * @return resource|null |
|
115 | 115 | * @throws \InvalidArgumentException |
116 | 116 | */ |
117 | 117 | private function getStreamContext() |
@@ -211,6 +211,9 @@ discard block |
||
211 | 211 | return $this->options['fragment_size']; |
212 | 212 | } |
213 | 213 | |
214 | + /** |
|
215 | + * @param string $payload |
|
216 | + */ |
|
214 | 217 | public function send($payload, $opcode = 'text', $masked = true) |
215 | 218 | { |
216 | 219 | if (!$this->isConnected) { |
@@ -244,10 +247,10 @@ discard block |
||
244 | 247 | } |
245 | 248 | |
246 | 249 | /** |
247 | - * @param $final |
|
248 | - * @param $payload |
|
249 | - * @param $opcode |
|
250 | - * @param $masked |
|
250 | + * @param boolean $final |
|
251 | + * @param string $payload |
|
252 | + * @param string $opcode |
|
253 | + * @param boolean $masked |
|
251 | 254 | * @throws ConnectionException |
252 | 255 | * @throws \Exception |
253 | 256 | */ |
@@ -155,7 +155,7 @@ discard block |
||
155 | 155 | return 'GET ' . $pathWithQuery . " HTTP/1.1\r\n" |
156 | 156 | . implode( |
157 | 157 | "\r\n", array_map( |
158 | - function ($key, $value) { |
|
158 | + function($key, $value) { |
|
159 | 159 | return "$key: $value"; |
160 | 160 | }, array_keys($headers), $headers |
161 | 161 | ) |
@@ -256,7 +256,7 @@ discard block |
||
256 | 256 | // Binary string for header. |
257 | 257 | $frameHeadBin = ''; |
258 | 258 | // Write FIN, final fragment bit. |
259 | - $frameHeadBin .= (bool)$final ? '1' : '0'; |
|
259 | + $frameHeadBin .= (bool) $final ? '1' : '0'; |
|
260 | 260 | // RSV 1, 2, & 3 false and unused. |
261 | 261 | $frameHeadBin .= '000'; |
262 | 262 | // Opcode rest of the byte. |
@@ -326,7 +326,7 @@ discard block |
||
326 | 326 | |
327 | 327 | // Is this the final fragment? // Bit 0 in byte 0 |
328 | 328 | /// @todo Handle huge payloads with multiple fragments. |
329 | - $final = (bool)(ord($data[0]) & 1 << 7); |
|
329 | + $final = (bool) (ord($data[0]) & 1 << 7); |
|
330 | 330 | |
331 | 331 | // Parse opcode |
332 | 332 | $opcode_int = ord($data[0]) & 31; // Bits 4-7 |
@@ -342,12 +342,12 @@ discard block |
||
342 | 342 | } |
343 | 343 | |
344 | 344 | // Masking? |
345 | - $mask = (bool)(ord($data[1]) >> 7); // Bit 0 in byte 1 |
|
345 | + $mask = (bool) (ord($data[1]) >> 7); // Bit 0 in byte 1 |
|
346 | 346 | |
347 | 347 | $payload = ''; |
348 | 348 | |
349 | 349 | // Payload length |
350 | - $payload_length = (int)ord($data[1]) & self::MASK_127; // Bits 1-7 in byte 1 |
|
350 | + $payload_length = (int) ord($data[1]) & self::MASK_127; // Bits 1-7 in byte 1 |
|
351 | 351 | if ($payload_length > self::MASK_125) { |
352 | 352 | if ($payload_length === self::MASK_126) { |
353 | 353 | $data = $this->read(2); // 126: Payload is a 16-bit unsigned int |