diff options
Diffstat (limited to 'tests/http/slow-client.php')
-rw-r--r-- | tests/http/slow-client.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/http/slow-client.php b/tests/http/slow-client.php new file mode 100644 index 00000000..58250dfb --- /dev/null +++ b/tests/http/slow-client.php @@ -0,0 +1,46 @@ +<?php + +use Spiral\Goridge; +use Spiral\RoadRunner; + +ini_set('display_errors', 'stderr'); +require dirname(__DIR__) . "/../vendor/autoload.php"; + +if (count($argv) < 3) { + die("need 2 arguments"); +} + +list($test, $goridge, $bootDelay) = [$argv[1], $argv[2], $argv[3]]; +usleep($bootDelay * 1000); + +switch ($goridge) { + case "pipes": + $relay = new Goridge\StreamRelay(STDIN, STDOUT); + break; + + case "tcp": + $relay = new Goridge\SocketRelay("localhost", 9007); + break; + + case "unix": + $relay = new Goridge\SocketRelay( + "sock.unix", + null, + Goridge\SocketRelay::SOCK_UNIX + ); + break; + + default: + die("invalid protocol selection"); +} + +$psr7 = new RoadRunner\PSR7Client(new RoadRunner\Worker($relay)); +require_once sprintf("%s/%s.php", __DIR__, $test); + +while ($req = $psr7->acceptRequest()) { + try { + $psr7->respond(handleRequest($req, new \Zend\Diactoros\Response())); + } catch (\Throwable $e) { + $psr7->getWorker()->error((string)$e); + } +} |