<?php

use Symfony\Component\HttpClient\NativeHttpClient;

require 'vendor/autoload.php';

$client = new NativeHttpClient();
$response1 = $client->request('GET', 'http://localhost:8000/long-to-execute');
$stream1 = $response1->toStream();
stream_set_blocking($stream1, 0);

$response2 = $response = $client->request('GET', 'http://localhost:8001/faster');
$stream2 = $response2->toStream();
stream_set_blocking($stream2, 0);

$originalRead = [$stream1, $stream2];
$write = [];
$except = [];
do {
    $read = $originalRead;
    $foo = @stream_select($read, $write, $except, null, 0);

    foreach ($read as $item) {
        var_dump(stream_get_contents($item));
    }

    echo "Stream 1: \n";
    var_dump(\feof($stream1));
    if (\feof($stream1)) {
        unset($originalRead[0]);
    }

    echo "Stream 2: \n";
    var_dump(\feof($stream2));
    if (\feof($stream1)) {
        unset($originalRead[1]);
    }
} while (!\feof($stream1) || !\feof($stream2)); // while streams are not finished