require_once '../../websocket-php/lib/Exception.php'; require_once '../../websocket-php/lib/ConnectionException.php'; use WebSocket\Server; define('TIMEOUT', 200); // Setting timeout to 200 seconds to make time for all tests and manual runs. $server = new Server(array('timeout' => TIMEOUT)); echo "Server started with timeout: ", TIMEOUT, "ms — at ", date("c"); echo "\n", "port: ", $server->getPort(), "\n"; while ($connection = $server->accept()) { $test_id = $server->getPath(); $test_id = substr($test_id, 1); try { while (1) { $message = $server->receive(); echo "Received {$message}\n\n"; if ($message === 'exit') { echo microtime(true), " Client told me to quit. Bye bye.\n"; echo microtime(true), " Close response: ", $server->close(), "\n"; echo microtime(true), " Close status: ", $server->getCloseStatus(), "\n"; exit; } elseif ($auth = $server->getHeader('Authorization')) { $server->send("{$auth} - {$message}", 'text', false); } else { $server->send($message, 'text', false); } } } catch (WebSocket\ConnectionException $e) { echo "\n", date("c"), " Client died: {$e}\n"; } } exit;
if (class_exists('PHPUnit_Extensions_SeleniumCommon_ExitHandler')) { PHPUnit_Extensions_SeleniumCommon_ExitHandler::init(); } try { while (1) { $message = $server->receive(); echo "Received {$message}\n\n"; if ($message === 'exit') { echo microtime(true), " Client told me to quit. Bye bye.\n"; echo microtime(true), " Close response: ", $server->close(), "\n"; echo microtime(true), " Close status: ", $server->getCloseStatus(), "\n"; save_coverage_data($test_id); exit; } if ($message === 'Dump headers') { $server->send(implode("\r\n", $server->getRequest())); } elseif ($auth = $server->getHeader('Authorization')) { $server->send("{$auth} - {$message}", 'text', false); } else { $server->send($message, 'text', false); } } } catch (WebSocket\ConnectionException $e) { echo "\n", microtime(true), " Client died: {$e}\n"; save_coverage_data($test_id); } } exit; function save_coverage_data($test_id) { if (!function_exists('xdebug_get_code_coverage')) {