Commit Graph

262 Commits

Author SHA1 Message Date
Zach Borboa cd42a47bd8 Make request duration more accurate 2021-03-13 23:30:24 -05: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 b27d86cd13 Add files to run php80 tests inside a docker container 2021-03-13 18:03:24 -05:00
Zach Borboa 3406c09653 Remove unnecessary flush
Message:
    Notice: ob_flush(): Failed to flush buffer. No buffer to flush in
    ./php-curl-class/tests/PHPCurlClass/server.php on line 288
2021-03-13 17:32:53 -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 bebefa431c Consider CaseInsensitiveArray an associative array. 2020-10-31 12:32:19 -07:00
Zach Borboa 37c605f9e4 Fix #651: Allow passing an indexed array to Curl::setHeaders() 2020-10-30 21:52:43 -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 9c00119ab5 Improve accuracy of timeout call by using microtime() 2020-05-12 22:41:02 -07:00
Zach Borboa 76ae1241cb Return a json response when calling the timeout test 2020-05-12 10:37:49 -07:00
Zach Borboa ab407d6b25 Implement disableTimeout()
Implement Curl::disableTimeout() and MultiCurl::disableTimeout()
2020-05-09 09:19:35 -07:00
Zach Borboa 75c9fc144b Fix #625: Update Url class to handle IPv6 addresses with bracket notation. 2020-04-22 22:18:47 -07:00
Zach Borboa ea66e3bfb9 Standardize the use import statements 2020-04-17 18:47:59 -07:00
Zach Borboa 2fd406a500 Fix continuous integration tests for PHP 7.3.
There were 3 errors:
    1) CurlTest\CurlTest::testMultipartFormDataContentType
    TypeError: Argument 2 passed to PHPUnit\Framework\Assert::assertContains() must be iterable, string given, [...]

    2) CurlTest\CurlTest::testJsonEncode
    ErrorException: json_encode error: Malformed UTF-8 characters, possibly incorrectly encoded

    3) CurlTest\CurlTest::testRequiredOptionCurlOptReturnTransferEmitsWarning
    CURLOPT_RETURNTRANSFER is a required option
2020-02-17 13:34:53 -08: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 f27059b170 Remove notice when request is made and test flag is not set.
Message:
 PHP Notice:  Undefined index: PHP_CURL_CLASS_TEST_MODE_ENABLED in
 ./php-curl-class/tests/PHPCurlClass/server.php on line 4
2019-07-18 19:06:52 -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 82b927bbcd Add test for Curl::removeHeader() 2019-05-24 22:48:09 -07: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 52a8645872 Clean up 2019-05-11 09:33:01 -07:00
Zach Borboa c36b2af2b0 Fix PHP 5.3 container test not completing successfully 2019-04-30 00:00:39 -07:00
Zach Borboa 62d5390ad7 Fix #579: Correct implementation of Curl::setProxyAuth() 2019-04-19 22:37:55 -07:00
Zach Borboa 7dd4258e02 Fix #562: Prevent direct execution of test server script unless testing 2019-01-05 12:09:03 -08:00
Zach Borboa 35a32a7a77 Fix #567: Add proxy support for MultiCurl 2019-01-05 00:43:21 -08:00
Zach Borboa bf68fc30bd Add tests for content-length with DELETE requests (#557) 2018-11-29 23:01:26 -08:00
Zach Borboa 5c6fd4cdf3 Fix #555: Remove temporary file when download fails 2018-11-08 08:27:47 -08:00
Zach Borboa 6fc4c5824b Fix #545: Allow fileless requests to use Content-Type: multipart/form-data.
This change allows making requests that don't contain files to use
Content-Type: multipart/form-data. Previously, requests with array data
not specifying any files were sent using
Content-Type: application/x-www-form-urlencoded.
2018-09-07 23:53:02 -07:00
Zach Borboa 76137ca48f Fix #538: Allow objects implementing JsonSerializable to be serialized to JSON when passed as request data 2018-08-18 07:35:18 -07:00
Zach Borboa 26e6a966df Add allowed error that occurs when running unit tests inside container 2018-07-28 13:40:33 -07:00
Zach Borboa 24e98595f0 Throw error when json_encode fails 2018-07-27 01:43:17 -07:00
Zach Borboa 86e12e3b91 Fix #331: Add methods to use proxy 2018-07-17 04:29:25 -07:00
Zach Borboa c21970ff9a Fix #303: Add methods for mocking.
Thanks to Sven Lütje (B4rb4ross4) for the initial suggestion and pull
request.
2018-07-07 04:16:34 -07:00
Zach Borboa bc1dd97917 Simplify test 2018-06-18 23:50:28 -07:00
Zach Borboa 463b2adc71 Reorder tests 2018-06-18 23:12:57 -07:00
Zach Borboa 2bb151e03d Allow specifying xml decoder options when calling Curl::setDefaultXmlDecoder 2018-06-18 23:08:26 -07:00
Zach Borboa e087a5c117 Clean up 2018-06-18 01:29:16 -07:00
Zach Borboa 51904c06e3 Simplify test for Curl::reset() 2018-06-04 23:03:32 -07:00