summaryrefslogtreecommitdiff
path: root/tests/http/client.php
blob: 9f21b273326fe0d17d69fa482bfe9cae29bca017 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php

use Spiral\Goridge;
use Spiral\RoadRunner;

ini_set('display_errors', 'stderr');
require dirname(__DIR__) . "/../vendor_php/autoload.php";

if (count($argv) < 3) {
    die("need 2 arguments");
}

list($test, $goridge) = [$argv[1], $argv[2]];

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);
    }
}