diff options
author | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
---|---|---|
committer | marvin-borner@live.com | 2018-04-16 21:09:05 +0200 |
commit | cf14306c2b3f82a81f8d56669a71633b4d4b5fce (patch) | |
tree | 86700651aa180026e89a66064b0364b1e4346f3f /assets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php | |
parent | 619b01b3615458c4ed78bfaeabb6b1a47cc8ad8b (diff) |
Main merge to user management system - files are now at /main/public/
Diffstat (limited to 'assets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php')
-rwxr-xr-x | assets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php | 228 |
1 files changed, 0 insertions, 228 deletions
diff --git a/assets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php b/assets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php deleted file mode 100755 index 0c5578a..0000000 --- a/assets/php/vendor/ratchet/rfc6455/tests/ab/clientRunner.php +++ /dev/null @@ -1,228 +0,0 @@ -<?php -use GuzzleHttp\Psr7\Uri; -use React\Promise\Deferred; -use Ratchet\RFC6455\Messaging\Frame; - -require __DIR__ . '/../bootstrap.php'; - -define('AGENT', 'RatchetRFC/0.0.0'); - -$testServer = "127.0.0.1"; - -$loop = React\EventLoop\Factory::create(); - -$dnsResolverFactory = new React\Dns\Resolver\Factory(); -$dnsResolver = $dnsResolverFactory->createCached('8.8.8.8', $loop); - -$factory = new \React\SocketClient\Connector($loop, $dnsResolver); - -function echoStreamerFactory($conn) -{ - return new \Ratchet\RFC6455\Messaging\MessageBuffer( - new \Ratchet\RFC6455\Messaging\CloseFrameChecker, - function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($conn) { - /** @var Frame $frame */ - foreach ($msg as $frame) { - $frame->maskPayload(); - } - $conn->write($msg->getContents()); - }, - function (\Ratchet\RFC6455\Messaging\FrameInterface $frame) use ($conn) { - switch ($frame->getOpcode()) { - case Frame::OP_PING: - return $conn->write((new Frame($frame->getPayload(), true, Frame::OP_PONG))->maskPayload()->getContents()); - break; - case Frame::OP_CLOSE: - return $conn->end((new Frame($frame->getPayload(), true, Frame::OP_CLOSE))->maskPayload()->getContents()); - break; - } - }, - false - ); -} - -function getTestCases() { - global $factory; - global $testServer; - - $deferred = new Deferred(); - - $factory->create($testServer, 9001)->then(function (\React\Stream\Stream $stream) use ($deferred) { - $cn = new \Ratchet\RFC6455\Handshake\ClientNegotiator(); - $cnRequest = $cn->generateRequest(new Uri('ws://127.0.0.1:9001/getCaseCount')); - - $rawResponse = ""; - $response = null; - - /** @var \Ratchet\RFC6455\Messaging\Streaming\MessageBuffer $ms */ - $ms = null; - - $stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) { - if ($response === null) { - $rawResponse .= $data; - $pos = strpos($rawResponse, "\r\n\r\n"); - if ($pos) { - $data = substr($rawResponse, $pos + 4); - $rawResponse = substr($rawResponse, 0, $pos + 4); - $response = \GuzzleHttp\Psr7\parse_response($rawResponse); - - if (!$cn->validateResponse($cnRequest, $response)) { - $stream->end(); - $deferred->reject(); - } else { - $ms = new \Ratchet\RFC6455\Messaging\MessageBuffer( - new \Ratchet\RFC6455\Messaging\CloseFrameChecker, - function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($deferred, $stream) { - $deferred->resolve($msg->getPayload()); - $stream->close(); - }, - null, - false - ); - } - } - } - - // feed the message streamer - if ($ms) { - $ms->onData($data); - } - }); - - $stream->write(\GuzzleHttp\Psr7\str($cnRequest)); - }); - - return $deferred->promise(); -} - -function runTest($case) -{ - global $factory; - global $testServer; - - $casePath = "/runCase?case={$case}&agent=" . AGENT; - - $deferred = new Deferred(); - - $factory->create($testServer, 9001)->then(function (\React\Stream\Stream $stream) use ($deferred, $casePath, $case) { - $cn = new \Ratchet\RFC6455\Handshake\ClientNegotiator(); - $cnRequest = $cn->generateRequest(new Uri('ws://127.0.0.1:9001' . $casePath)); - - $rawResponse = ""; - $response = null; - - $ms = null; - - $stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) { - if ($response === null) { - $rawResponse .= $data; - $pos = strpos($rawResponse, "\r\n\r\n"); - if ($pos) { - $data = substr($rawResponse, $pos + 4); - $rawResponse = substr($rawResponse, 0, $pos + 4); - $response = \GuzzleHttp\Psr7\parse_response($rawResponse); - - if (!$cn->validateResponse($cnRequest, $response)) { - $stream->end(); - $deferred->reject(); - } else { - $ms = echoStreamerFactory($stream); - } - } - } - - // feed the message streamer - if ($ms) { - $ms->onData($data); - } - }); - - $stream->on('close', function () use ($deferred) { - $deferred->resolve(); - }); - - $stream->write(\GuzzleHttp\Psr7\str($cnRequest)); - }); - - return $deferred->promise(); -} - -function createReport() { - global $factory; - global $testServer; - - $deferred = new Deferred(); - - $factory->create($testServer, 9001)->then(function (\React\Stream\Stream $stream) use ($deferred) { - $reportPath = "/updateReports?agent=" . AGENT . "&shutdownOnComplete=true"; - $cn = new \Ratchet\RFC6455\Handshake\ClientNegotiator(); - $cnRequest = $cn->generateRequest(new Uri('ws://127.0.0.1:9001' . $reportPath)); - - $rawResponse = ""; - $response = null; - - /** @var \Ratchet\RFC6455\Messaging\MessageBuffer $ms */ - $ms = null; - - $stream->on('data', function ($data) use ($stream, &$rawResponse, &$response, &$ms, $cn, $deferred, &$context, $cnRequest) { - if ($response === null) { - $rawResponse .= $data; - $pos = strpos($rawResponse, "\r\n\r\n"); - if ($pos) { - $data = substr($rawResponse, $pos + 4); - $rawResponse = substr($rawResponse, 0, $pos + 4); - $response = \GuzzleHttp\Psr7\parse_response($rawResponse); - - if (!$cn->validateResponse($cnRequest, $response)) { - $stream->end(); - $deferred->reject(); - } else { - $ms = new \Ratchet\RFC6455\Messaging\MessageBuffer( - new \Ratchet\RFC6455\Messaging\CloseFrameChecker, - function (\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($deferred, $stream) { - $deferred->resolve($msg->getPayload()); - $stream->close(); - }, - null, - false - ); - } - } - } - - // feed the message streamer - if ($ms) { - $ms->onData($data); - } - }); - - $stream->write(\GuzzleHttp\Psr7\str($cnRequest)); - }); - - return $deferred->promise(); -} - - -$testPromises = []; - -getTestCases()->then(function ($count) use ($loop) { - $allDeferred = new Deferred(); - - $runNextCase = function () use (&$i, &$runNextCase, $count, $allDeferred) { - $i++; - if ($i > $count) { - $allDeferred->resolve(); - return; - } - runTest($i)->then($runNextCase); - }; - - $i = 0; - $runNextCase(); - - $allDeferred->promise()->then(function () { - createReport(); - }); -}); - -$loop->run(); |