sunrise / http-client-curl
Simple HTTP cURL client for PHP 7.1+ based on PSR-18
Installs: 2 654
Dependents: 0
Suggesters: 0
Security: 0
Stars: 15
Watchers: 4
Forks: 1
Open Issues: 1
Requires
- php: ^7.1|^8.0
- ext-curl: *
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: 7.5.20|9.5.0
- sunrise/coding-standard: 1.0.0
- sunrise/http-factory: 2.0.0
Provides
This package is auto-updated.
Last update: 2023-01-26 22:03:25 UTC
README
Installation
composer require sunrise/http-client-curl
QuickStart
composer require sunrise/http-factory
use Sunrise\Http\Client\Curl\Client; use Sunrise\Http\Factory\RequestFactory; use Sunrise\Http\Factory\ResponseFactory; $client = new Client(new ResponseFactory()); $request = (new RequestFactory)->createRequest('GET', 'http://php.net/'); $response = $client->sendRequest($request); echo $response->getStatusCode(), PHP_EOL;
cURL options
$client = new Client(new ResponseFactory(), [ \CURLOPT_AUTOREFERER => true, \CURLOPT_FOLLOWLOCATION => true, ]);
Parallel execution of multiple requests
$requests = [ (new RequestFactory)->createRequest('GET', 'http://php.net/'), (new RequestFactory)->createRequest('GET', 'http://php.net/'), ]; $client = new Client(new ResponseFactory()); $responses = $client->sendRequests(...$request); foreach ($responses as $i => $response) { // note that you can get the response's request by its index... echo sprintf('%s => %d', $requests[$i]->getUri(), $response->getStatusCode()), PHP_EOL; }
Test run
composer test