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;
}
use DI\ContainerBuilder;
use Psr\Http\Client\ClientInterface;
$containerBuilder = new ContainerBuilder();
$containerBuilder->addDefinition(__DIR__ . '/../vendor/sunrise/http-client-curl/resources/definitions/client.php');
$container = $containerBuilder->build();
// See above for usage examples.
$client = $container->get(ClientInterface::class);
composer test