smoren / multicurl
Multi curl wrapper for making parallel HTTP requests
v0.1.2
2022-08-18 16:32 UTC
Requires
- php: >=7.2.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- codeception/codeception: ^4.2.1
- codeception/module-asserts: ^2.0
- php-coveralls/php-coveralls: ^2.0
- phpstan/phpstan: ^1.8
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-12-03 17:10:12 UTC
README
Multi curl wrapper for making parallel HTTP requests
How to install to your project
composer require smoren/multicurl
Unit testing
composer install
composer test-init
composer test
Usage
use Smoren\MultiCurl\MultiCurl; $mc = new MultiCurl(10, [ CURLOPT_POST => true, CURLOPT_FOLLOWLOCATION => 1, ], [ 'Content-Type' => 'application/json', ]); $mc->addRequest(1, 'https://httpbin.org/anything', ['some' => 'data']); $mc->addRequest(2, 'https://httpbin.org/anything', ['some' => 'another data']); $result = $mc->makeRequests(); print_r($result); /* Array ( [1] => Array ( [code] => 200 [headers] => Array ( [Date] => Sat, 14 May 2022 08:21:35 GMT [Content-Type] => application/json [Content-Length] => 459 [Connection] => keep-alive [Server] => gunicorn/19.9.0 [Access-Control-Allow-Origin] => * [Access-Control-Allow-Credentials] => true ) [body] => Array ( [args] => Array ( ) [data] => {"some":"data"} [files] => Array ( ) [form] => Array ( ) [headers] => Array ( [Accept] => [Accept-Encoding] => deflate, gzip [Content-Length] => 15 [Content-Type] => application/json [Host] => httpbin.org [X-Amzn-Trace-Id] => Root=1-627f668f-2c004f4e5817d2b508e0cd6c ) [json] => Array ( [some] => data ) [method] => POST [origin] => 46.22.56.202 [url] => https://httpbin.org/anything ) ) [2] => Array ( [code] => 200 [headers] => Array ( [Date] => Sat, 14 May 2022 08:21:36 GMT [Content-Type] => application/json [Content-Length] => 475 [Connection] => keep-alive [Server] => gunicorn/19.9.0 [Access-Control-Allow-Origin] => * [Access-Control-Allow-Credentials] => true ) [body] => Array ( [args] => Array ( ) [data] => {"some":"another data"} [files] => Array ( ) [form] => Array ( ) [headers] => Array ( [Accept] => [Accept-Encoding] => deflate, gzip [Content-Length] => 23 [Content-Type] => application/json [Host] => httpbin.org [X-Amzn-Trace-Id] => Root=1-627f668f-67767ca73cdb2bf313afa566 ) [json] => Array ( [some] => another data ) [method] => POST [origin] => 46.22.56.202 [url] => https://httpbin.org/anything ) ) ) */