107 Commits

Author SHA1 Message Date
Zach Borboa 5427717469 Fix existing header overwritten after using MultiCurl::addCurl() 2023-06-08 19:18:32 -07:00
Zach Borboa 4133006c9f Remove coding standard ruleset exclusion 2023-02-26 12:07:58 -08:00
Zach Borboa 4ed7644250 Update tests to work with PHPUnit 10 2023-02-17 19:31:41 -08:00
Zach Borboa b20f535f7c Replace use of #[\AllowDynamicProperties] 2023-01-10 13:18:26 -08:00
Zach Borboa 99795d1d69 Fix MultiCurl::setCookieString() 2022-11-05 14:43:21 -07:00
Zach Borboa cb6a0e83e6 Pass MultiCurl options to new Curl instances earlier
Fix setting of options by passing of MultiCurl options to new Curl
instances earlier. Set options during the Curl initialization instead of
waiting until the request instance is configured in
MultiCurl::initHandle().
2022-11-05 13:48:30 -07:00
Zach Borboa a33b7bde4e Fix #707: Call MultiCurl::beforeSend() before each request is made 2022-07-01 11:21:57 -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
Zach Borboa 7dae1c6b54 Update server test names 2021-11-23 23:24:54 -05: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 860645c623 Add option to skip slow tests using an environment variable
Enable the PHP_CURL_CLASS_SKIP_SLOW_TESTS flag to skip the slow tests:
    $ time ./tests/run.sh
    real	16m24.624s ←
    user	0m1.682s
    sys	0m1.645s

    $ time PHP_CURL_CLASS_SKIP_SLOW_TESTS=1 ./tests/run.sh
    real	0m47.441s ←
    user	0m20.005s
    sys	0m10.802s
2021-11-23 20:37:33 -05:00
Zach Borboa 92a8f3bbe2 Fix #686: Build url without using data parameter 2021-11-20 23:43:44 -05:00
Zach Borboa 2973f50df8 Determine request method using helper method 2021-11-20 23:13:10 -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 a8714527e6 Increase tolerance of request start time 2021-08-19 20:18:04 -04:00
Zach Borboa c51b175748 Increase amount of time drift allowed
(noisy neighbors?)
2021-07-26 20:44:33 -04:00
Zach Borboa cd825550b2 Fix Curl::downloadFileName not being correctly set 2021-07-26 20:17:14 -04:00
Zach Borboa 285b4f02e6 Update tests to more closely match one another 2021-07-26 10:29:24 -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 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 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
Zach Borboa 57bfcb4e1a Clean up 2021-03-22 22:55:46 -04:00
Zach Borboa 161f9aea63 Use short array syntax 2021-03-18 01:15:52 -04:00
Zach Borboa e71ff2c56c Use MultiCurl::startTime and MultiCurl::stopTime when generating request stats 2021-03-17 00:29:47 -04:00
Zach Borboa a74b38821c Set debugging message when rate limit assertions fail 2021-03-16 12:34:40 -04:00
Zach Borboa 79e7ddafb5 Fix tests as curl_init() and curl_multi_init() can return an object
As of PHP 8.0.0, curl_init() and curl_multi_init() return an object
instead of a resource. Update the tests to pass when the curl init
functions return either an object or a resource.
2021-03-13 20:32:20 -05:00
Zach Borboa 75adc83a5c Add tests that expose the empty cookie jar after close bug 2021-03-13 18:18:15 -05:00
Zach Borboa 23e95578f8 Use helper function to simplify calculating request statistics 2021-03-13 17:30:13 -05:00
Zach Borboa dbef40b16d Clean up 2021-03-12 21:54:05 -05:00
Zach Borboa 9d4134b830 Use a helper function to access values of private class properties 2020-10-31 21:28:15 -07:00
Zach Borboa 3d8e4c38c2 Allow passing an indexed array to MultiCurl::setHeaders() 2020-10-31 14:59:35 -07:00
Zach Borboa 85c95b187c Add rate limit test cases using uppercase letters for unit 2020-05-16 23:53:29 -07:00
Zach Borboa b33bfb93ef Clean up 2020-05-16 23:51:23 -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 ea66e3bfb9 Standardize the use import statements 2020-04-17 18:47:59 -07:00
Zach Borboa 82c0880ab5 Clean up 2020-01-14 20:56: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 c894feda9f Add test cases for the SEARCH method 2019-05-22 23:49:22 -07:00
Zach Borboa 8598deaa6f Clean up 2019-05-17 05:01:13 -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 494d8a75a2 Add additional tests for MultiCurl proxy functions 2019-05-11 23:26:10 -07:00
Zach Borboa 35a32a7a77 Fix #567: Add proxy support for MultiCurl 2019-01-05 00:43:21 -08:00