Commit Graph

1484 Commits

Author SHA1 Message Date
Zach Borboa eb13430bf6 Merge pull request #696 from zachborboa/master
Add static analysis checks to continuous integration
2021-11-26 13:38:41 -05:00
Zach Borboa c975670b97 Run psalm on PHP >= 7.1
Error message:
    PHP Fatal error:  Uncaught Psalm\Exception\ConfigException: Error
    parsing file /home/runner/work/php-curl-class/php-curl-class/ on
    line 8: Element '{https://getpsalm.org/schema/config}psalm': No
    matching global declaration available for the validation root.
2021-11-26 08:49:03 -05:00
Zach Borboa d79fb1689f Skip running static analysis checks on future releases 2021-11-25 23:52:55 -05:00
Zach Borboa b27c29b5ec Fix psalm UndefinedClass errors
Messages:
    ERROR: UndefinedClass - src/Curl/Curl.php:217:64 - Class, interface or enum named CurlHandle does not exist (see https://psalm.dev/019)
            if (is_resource($this->curl) || $this->curl instanceof \CurlHandle) {

    ERROR: UndefinedClass - src/Curl/Curl.php:1570:64 - Class, interface or enum named CurlHandle does not exist (see https://psalm.dev/019)
            if (is_resource($this->curl) || $this->curl instanceof \CurlHandle) {

    ERROR: UndefinedClass - src/Curl/MultiCurl.php:396:74 - Class, interface or enum named CurlMultiHandle does not exist (see https://psalm.dev/019)
            if (is_resource($this->multiCurl) || $this->multiCurl instanceof \CurlMultiHandle) {
2021-11-25 23:16:35 -05:00
Zach Borboa 23ce1726b3 Fix psalm error: InvalidParamDefault 2021-11-25 20:25:08 -05:00
Zach Borboa 5087a6b6d8 Add static analysis checks to continuous integration 2021-11-25 19:32:50 -05:00
Zach Borboa d0ea9779c4 Merge pull request #695 from zachborboa/master
Move PHP 8.1 out of future release
2021-11-25 14:34:25 -05:00
Zach Borboa 8b16eb7207 Add PHP 8.1 to list of compatible versions 2021-11-25 14:05:58 -05:00
Zach Borboa 04637b3058 Move PHP 8.1 out of future release 2021-11-25 13:42:01 -05:00
Zach Borboa 66d92b9324 Merge pull request #694 from zachborboa/master
Remove some uses of function_exists()
2021-11-25 12:15:40 -05:00
Zach Borboa c4ee562d5f Remove additional uses of function_exists() where no longer necessary 2021-11-25 11:36:35 -05:00
Zach Borboa 9c03d19715 Remove some uses of function_exists() where no longer necessary 2021-11-25 11:11:32 -05:00
Zach Borboa 9c08d0b2a1 Merge pull request #693 from zachborboa/master
Add PHP 8.1 and PHP 8.2 to continuous integration tests
2021-11-24 23:55:46 -05:00
Zach Borboa 21564e7429 Allow test failures on future PHP releases to fail more quietly
This change allows continuous integration test failures on future PHP
releases without triggering some of the user interface warnings:
    - Red x mark instead of a green checkmark
    - Pull request merge warning:
        "Some checks were not successful
        7 successful and 1 failing checks"
2021-11-24 23:12:31 -05:00
Zach Borboa 9d78953513 Add PHP 8.2 to continuous integration tests 2021-11-24 22:01:44 -05:00
Zach Borboa 13a5718d18 Allow future PHP releases to fail continuous integration tests 2021-11-24 22:01:06 -05:00
Zach Borboa 71c75a4638 Add PHP 8.1 to continuous integration tests 2021-11-24 21:01:42 -05:00
Zach Borboa 8626b78ef2 Merge pull request #692 from zachborboa/master
Use block format list for php version matrix
2021-11-24 21:00:22 -05:00
Zach Borboa 35721c1859 Replace inline format list with block format list 2021-11-24 20:36:59 -05:00
Zach Borboa 5c865c33ee Merge pull request #689 from zachborboa/master
Remove data parameter from additional request types
2021-11-24 08:47:46 -05:00
Zach Borboa 44bb1c6b80 Merge branch 'tgerakitis-master' 2021-11-23 23:25:17 -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 522c829211 Merge pull request #688 from zachborboa/master
Add option to skip running slower tests
2021-11-23 22:22:21 -05:00
Zach Borboa 31a65e2dfb Remove void return type when running tests on PHP 7.0
The void return type was implemented in PHP 7.1 and PHP 7.0 treats the
void return type as a class name.

Errors:
    1) CurlTest\CurlTest::testExtensionsLoaded
    TypeError: Return value of CurlTest\CurlTest::setUp() must be an instance of CurlTest\void, none returned

    /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:18

    2) CurlTest\CurlTest::testCaseInsensitiveArrayGet
    TypeError: Return value of CurlTest\CurlTest::setUp() must be an instance of CurlTest\void, none returned

    /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:18

    3) CurlTest\CurlTest::testCaseInsensitiveArraySet
    TypeError: Return value of CurlTest\CurlTest::setUp() must be an instance of CurlTest\void, none returned

    /home/runner/work/php-curl-class/php-curl-class/tests/PHPCurlClass/PHPCurlClassTest.php:18

    [...]
2021-11-23 21:53:32 -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 8340a4c0ca Bump version: 9.4.0 → 9.5.0 9.5.0 2021-11-21 14:12:30 -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 cc4891ce55 Fix count() on null 2021-11-19 22:54:34 -05:00
Zach Borboa 2c73d6321e Fix #684: Add GET request with port specified 2021-10-03 18:32:45 -04:00
Zach Borboa 3bc40c0138 Fix typo 2021-09-23 21:28:18 -04:00
Zach Borboa b12fedd018 Merge pull request #683 from zachborboa/master
Add PHP Compatibility coding standards check
2021-09-21 16:23:17 -04:00
Zach Borboa 37655237ac Fix PHP CodeSniffer method name warnings
Warning message:
    Method name "Curl::__get_[...]" is discouraged; PHP has reserved all
    method names with a double underscore prefix for future use.
    (PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.MethodDoubleUnderscore)
2021-09-21 15:58:39 -04:00
Zach Borboa bd85374938 Add PHPCompatibility ruleset to coding standards check 2021-09-21 15:28:48 -04:00
Zach Borboa a4d91d28ba Run check coding standard commands from the project root directory 2021-09-21 15:21:21 -04:00
Zach Borboa 5c0a351e41 Unify continuous integration and run scripts more closely 2021-09-21 10:42:56 -04:00
Zach Borboa 1c6d297478 Merge pull request #682 from zachborboa/master
Implement Curl::setStop() for stopping requests early
2021-09-15 07:22:41 -04: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 6146e764f6 Ensure Curl::rawResponse is a string 2021-09-15 03:11:11 -04:00
Zach Borboa 5b7a9593be Fix response length calculation when curl_exec() returns false on failure 2021-09-15 02:03:24 -04:00
Zach Borboa 108268bbf4 Display hint at content length determination 2021-09-14 10:31:49 -04:00
Zach Borboa 0db3c1b227 Fix #675: Use paths with leading slashes 2021-09-14 09:32:45 -04:00
Zach Borboa e6de01c8c3 Bump version: 9.3.1 → 9.4.0 9.4.0 2021-09-04 14:28:24 -04:00
Zach Borboa a8714527e6 Increase tolerance of request start time 2021-08-19 20:18:04 -04:00
Zach Borboa 06124e84ed Simplify updating readme methods 2021-08-07 19:50:52 -04:00
Zach Borboa b632753ff6 Merge pull request #680 from zachborboa/master
Fix #679: Parsing schemeless urls
2021-08-07 18:50:27 -04:00
Zach Borboa 8bc9d6dd71 Fix parsing paths with Cyrillic characters 2021-08-07 17:52:34 -04:00