composer require sunrise/http-client-curl
composer require sunrise/http-message
use Sunrise\Http\Client\Curl\Client;
use Sunrise\Http\Message\RequestFactory;
use Sunrise\Http\Message\ResponseFactory;
$client = new Client(new ResponseFactory());
$request = (new RequestFactory())->createRequest('GET', 'https://www.php.net/');
$response = $client->sendRequest($request);
echo $response->getStatusCode(), PHP_EOL;
use Sunrise\Http\Client\Curl\Client;
use Sunrise\Http\Message\ResponseFactory;
use const CURLOPT_AUTOREFERER;
use const CURLOPT_FOLLOWLOCATION;
$client = new Client(new ResponseFactory(), [
CURLOPT_AUTOREFERER => true,
CURLOPT_FOLLOWLOCATION => true,
]);
use Sunrise\Http\Client\Curl\Client;
use Sunrise\Http\Client\Curl\MultiRequest;
use Sunrise\Http\Message\RequestFactory;
use Sunrise\Http\Message\ResponseFactory;
$client = new Client(new ResponseFactory());
$multiRequest = new MultiRequest(
foo: (new RequestFactory())->createRequest('GET', 'https://www.php.net/'),
bar: (new RequestFactory())->createRequest('GET', 'https://www.php.net/'),
)
$responses = $client->sendRequest($multiRequest)->getResponses();
foreach ($responses as $key => $response) {
// Note that you can get the response's request by its key...
echo sprintf('%s => %d', $multiRequest->getRequests()[$key]->getUri(), $response->getStatusCode()), PHP_EOL;
}
composer test