Zach Borboa
8fdb39bbaf
Fix #718 : Ensure cURL handle is passed to curl_multi_info_read()
...
Error message:
curl_multi_info_read(): supplied resource is not a valid cURL handle resource
2022-06-23 15:24:53 -04:00
Zach Borboa
523386ec01
Fix #714 : Attempt to stop active requests when MultiCurl::stop() is called
2022-06-23 08:26:20 -04:00
Zach Borboa
12b5757c22
Implement MultiCurl::stop()
2022-03-10 18:29:48 -08:00
Zach Borboa
dc4d0db091
Rename variable
2022-03-10 18:29:40 -08:00
Theodoros-Franz Gerakitis
e999cb4e25
Fix #686 : Build url without using data parameter
...
Also for PATCH, PUT & SEARCH requests
2021-11-23 23:23:08 -05:00
Zach Borboa
92a8f3bbe2
Fix #686 : Build url without using data parameter
2021-11-20 23:43:44 -05:00
Zach Borboa
3d9acedb66
Correct the post/redirect/get logic when using MultiCurl::addPost()
2021-11-20 22:17:32 -05:00
Zach Borboa
cd825550b2
Fix Curl::downloadFileName not being correctly set
2021-07-26 20:17:14 -04:00
Zach Borboa
7af4a8d383
Fix some errors caused by using strict types
2021-07-26 10:08:44 -04:00
Zach Borboa
bb1a190071
Use strict types
2021-07-26 00:48:18 -04:00
Zach Borboa
73dfde67e2
Modernize type casting
2021-07-25 23:53:32 -04:00
Zach Borboa
250421927f
Add additional Curl::set* and MultiCurl::set* helper methods
2021-06-17 11:14:29 -04:00
Zach Borboa
fe829855cb
Fix #670 : Add additional checks before attempting to close curl handles
2021-06-09 20:58:33 -04:00
Zach Borboa
b1f05c117a
Clean up
2021-03-24 01:23:05 -04:00
Zach Borboa
0194365f71
Fix MultiCurl base url being overwritten by the most recently set url
...
Previously, when using MultiCurl and updating the url after instances
have already been initialized, the most recently specified base url
would be used for the requests. This change fixes using relative urls
with MultiCurl::add* methods and allows instance-specific base urls to
be used.
2021-03-23 23:56:29 -04:00
Zach Borboa
e1ff6e870d
Add import
2021-03-23 11:21:39 -04:00
Zach Borboa
06ca377f64
Add support for using relative urls with MultiCurl::add*() methods
...
This change allows setting a base url with MultiCurl and adding requests
using relative paths.
Fixes #628 .
2021-03-23 11:03:39 -04:00
harry
0671a73de9
Fix base_url on MultiCurl
2021-03-22 23:12:08 -04:00
Zach Borboa
161f9aea63
Use short array syntax
2021-03-18 01:15:52 -04:00
Zach Borboa
7bf3868c6d
Update docblock for params that expect callables or nulls
...
Would use callable type declarations, but the functions accept both a
callables and nulls which would require union types (available in 8.x).
2021-03-17 22:40:46 -04:00
Zach Borboa
b94ce189b3
Add properties MultiCurl::startTime and MultiCurl::stopTime
2021-03-17 00:06:15 -04:00
Zach Borboa
1ef5fce3df
Decrease curl_multi_select() timeout so pending requests may have more accurate start times
2021-03-16 21:02:58 -04:00
Zach Borboa
af08135139
Fix flaky rate limit tests caused by inconsistent sleep times
2021-03-14 00:07:54 -05:00
Philipp Keck
933e0bb76b
Fix close() under PHP8
...
Fixes #662
At least on some platforms, maybe always with PHP8, is_resource(curl_init())===false because it returns the new \CurlHandle type instead.
2021-03-13 18:23:09 -05:00
Zach Borboa
eac149a259
Clean up
2021-03-13 17:37:47 -05:00
Zach Borboa
3d8e4c38c2
Allow passing an indexed array to MultiCurl::setHeaders()
2020-10-31 14:59:35 -07:00
Zach Borboa
cea618a6c1
Update docblock with possible exceptions thrown
2020-10-30 21:32:43 -07:00
Zach Borboa
cec296410a
Clean up
2020-05-17 18:53:13 -07:00
Zach Borboa
976008d094
Implement rate limiting requests via MultiCurl::setRateLimit()
2020-05-16 22:01:15 -07:00
Zach Borboa
ab407d6b25
Implement disableTimeout()
...
Implement Curl::disableTimeout() and MultiCurl::disableTimeout()
2020-05-09 09:19:35 -07:00
Zach Borboa
85c9a1a5e9
Clean up
2020-04-10 19:31:28 -07:00
harry
09006e0e26
Implement setInterface()
...
Implement Curl::setInterface() and MultiCurl::setInterface()
2020-04-10 12:02:41 +05:30
Zach Borboa
cf9ab59780
Use setFile()
2020-01-14 21:01:04 -08:00
Zach Borboa
15a6a4dd98
Use setRange()
2020-01-14 20:58:42 -08:00
Zach Borboa
a020585a73
Fix #608 : Implement Curl::setRange() and MultiCurl::setRange()
2020-01-14 20:55:41 -08:00
Zach Borboa
1d0f6cfc84
Fix #609 : Implement Curl::setFile() and MultiCurl::setFile()
2020-01-14 20:36:19 -08:00
Zach Borboa
2d591c3b7c
Fix lingering temporary download file when using MultiCurl::addDownload() ( #602 )
2019-11-17 00:19:57 -08:00
Zach Borboa
7b70bc2697
Fix #602 : Unify download implementation of MultiCurl::addDownload with Curl::download
2019-10-14 00:08:41 -07:00
Zach Borboa
505663a55d
Use camelCase for ArrayUtil function names and deprecate old snake_case names
2019-06-09 22:26:18 -07:00
Zach Borboa
9a538f3a6b
Reduce number of ops
2019-05-12 21:13:10 -07:00
Zach Borboa
0857023319
Fix #572,#582: Add MultiCurl::setProxies() to make multicurl requests with multiple proxies
2019-05-12 01:01:57 -07:00
Zach Borboa
8e5a0a29c3
Correct implementation of MultiCurl::setProxyAuth()
2019-05-11 23:04:55 -07:00
Zach Borboa
6f76666ee5
Clarify documentation for Curl::setRetry() and MultiCurl::setRetry()
2019-05-03 00:35:30 -07:00
Zach Borboa
35a32a7a77
Fix #567 : Add proxy support for MultiCurl
2019-01-05 00:43:21 -08:00
Zach Borboa
cdad9e1a01
Rename variable to use isChildOfMultiCurl as method name
2018-07-07 03:59:46 -07:00
Zach Borboa
e240b43606
Fix #511 : Use correct body in POST requests that use empty data arrays.
...
This fixes JSON POST requests incorrectly sending a serialized empty
array "[]" instead of an empty request body by default.
2018-04-26 02:49:21 -07:00
Zach Borboa
a028011f3d
Fix #506 : Remove content-length header for PATCH requests when data is empty
2018-04-09 01:03:40 -07:00
Zach Borboa
83cd9d14ee
Update comment to match new behavior
2018-03-06 22:17:38 -08:00
agapov97
caf1ec2062
multicurl - starting new requests while curls array is not empty and activeCurls array size less than concurrency
2018-02-26 17:21:21 +03:00
Zach Borboa
40f7026185
Fix #493 : Build POST data correctly when headers have been set.
...
Call MultiCurl::queueHandle sooner so that headers are correctly set when Curl::buildPostData is called and builds POST data differently depending on the request content-type.
2018-01-26 00:58:37 -08:00