Commit Graph

323 Commits

Author SHA1 Message Date
Zach Borboa d8ed09f266 Fix #747: Ensure string response before gzip decode 2022-12-12 05:53:53 -08:00
Zach Borboa c5a471ff2d Add assertions for response content type and content encoding 2022-12-10 11:50:37 -08:00
Zach Borboa 1f06b2c2a0 Fix #747: Disable warning when gzip-decoding response errors 2022-12-10 08:15:18 -08:00
Zach Borboa 7b07ab5166 Add automatic gzip decoding of response (#740) 2022-12-05 18:41:56 -08:00
Zach Borboa b86aca6f74 Add Curl::diagnose() HTTP method check matches methods allowed 2022-12-04 13:09:07 -08:00
Zach Borboa 4fb8e2867f Display request options in Curl::diagnose() output
Request options are now displayed when Curl::diagnose() is called and a
deferred constant curlOptionCodeConstants has been added.
2022-11-05 15:27:09 -07: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 e8b66975d0 Fix risky test missing assertion 2022-08-23 14:19:57 -07:00
Zach Borboa c2eec0667e Fix building post data for object
PHP 8 error messages:
    TypeError: array_keys(): Argument #1 ($array) must be of type array, stdClass given
    TypeError: array_values(): Argument #1 ($array) must be of type array, stdClass given

PHP 7 error messages:
    TypeError: array_keys() expects parameter 1 to be array, object given
    TypeError: array_values() expects parameter 1 to be array, object given
2022-08-19 09:46:26 -04:00
Zach Borboa 85e94ba1b1 Fix #725: Encode keys for post data with numeric keys 2022-07-28 23:47:29 -04:00
Zach Borboa a33b7bde4e Fix #707: Call MultiCurl::beforeSend() before each request is made 2022-07-01 11:21:57 -04:00
Zach Borboa 30ffe42915 Fix #712: Retain keys for arrays with null values 2022-06-23 12:44:46 -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 9c03d19715 Remove some uses of function_exists() where no longer necessary 2021-11-25 11:11:32 -05: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 0c8eab3083 Fix empty request headers value 2021-11-20 15:43:36 -05:00
Zach Borboa a4f4223b98 Implement Curl::setStop() for stopping requests early
Use Curl::setStop() to stop requests early without downloading
the full response.
2021-09-15 05:49:25 -04:00
Zach Borboa a8714527e6 Increase tolerance of request start time 2021-08-19 20:18:04 -04:00
Zach Borboa eadd466f66 Fix parsing schemeless url 2021-08-07 17:48:47 -04:00
Zach Borboa 25e9126f77 Make Url::parseUrl() and Url::percentEncodeChars() static functions. 2021-08-06 21:01:02 -04:00
Zach Borboa 620bf40691 Move ArrayUtil tests under ArrayUtilTest 2021-07-26 21:48:17 -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 6ceabf7293 Clean up 2021-07-26 00:35:01 -04:00
Zach Borboa 1226bb1a6c Implement option to capture output of Curl::diagnose() 2021-07-20 23:28:20 -04:00
Zach Borboa 7348de72f3 Clean up 2021-07-20 23:10:20 -04:00
Zach Borboa 18e76855c2 Fix assertion 2021-07-20 23:01:40 -04:00
Zach Borboa 2a899465c4 Add method to run basic request diagnostics 2021-07-18 21:56:03 -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 0031da7477 Remove environmental variable no longer needed
All the tests now make use of PHP's built-in web server and the variable
is no longer needed to determine if the development server is being
used.
2021-03-26 00:03:46 -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 b88fd76ffc Move Curl::buildUrl() to Url::buildUrl() 2021-03-23 10:02:11 -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 cc3f7bac24 Remove PHP v5.x support and add basic doc for how one may install the old version 2021-03-17 12:19:38 -04:00
Zach Borboa 05a1a21090 Remove official support of HHVM
As of HHVM 4.0, PHP is no longer supported:
    "With this release, we no longer aim to be compatible with PHP"
    "We are considering removing support for <?php in the next release [...]"
2021-03-17 09:33:50 -04:00
Zach Borboa d946b02b89 Clean up references of the previous continuous integration 2021-03-17 01:07:48 -04:00
Zach Borboa 6645958447 Remove fix attempt for CurlTest::testTimeout() 2021-03-17 00:40:36 -04:00