Commit Graph

316 Commits

Author SHA1 Message Date
Zach Borboa d13c43160d Fix #521: Fix memory leak when class object unset, but not manually closed.
Move closure function outside class to avoid implicit reference to $this
and allow __destruct() to be called as expected when a class instance is
unset.
2018-05-23 00:31:33 -07:00
Zach Borboa fa39f26a3a Fix #517: Require mbstring extension.
Use global namespace for mb_* functions.
2018-04-28 16:21:15 -07:00
woxcab c91d7a7d78 Erase base URL parts if their preceding parts have overwritten by relative URL 2018-04-27 23:27:35 +03:00
woxcab e7dc9f7bdc Prevent URL fragment destructing 2018-04-27 21:01:20 +03:00
Zach Borboa a969fabaa0 Fix #513: Add support for detecting SOAP content-types 2018-04-26 17:59:23 -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 4b19e0fa02 Bump patch version 2018-04-21 01:28:43 -07:00
Zach Borboa cfad5c4d3c Fix #505: Allow requests with Cyrillic characters in url 2018-04-20 01:03:05 -07:00
Zach Borboa 75597b28c4 Bump patch version 2018-04-09 01:28:13 -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 6efebcdcdf Update @return documentation 2018-02-08 08:12:58 -08:00
Zach Borboa 8156a3f402 Bump patch version 2018-01-27 04:41:34 -08:00
Zach Borboa afce677cb0 Clean up 2018-01-27 04:40:38 -08: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
Zach Borboa 44c1539ba6 Fix decoders set on individual instances ignored 2018-01-25 22:49:57 -08:00
Zach Borboa 21729d22a9 Use Curl::setCookies in favor Curl::setCookie in loop 2018-01-25 21:20:11 -08:00
Zach Borboa 50927dd294 Rename callbacks 2018-01-25 20:29:55 -08:00
Zach Borboa aa74a1cea4 Clean up 2018-01-25 19:52:20 -08:00
Zach Borboa cbacd9a68b Fix #490: Allow malformed response header to be parsed without error 2018-01-09 01:58:51 -08:00
Zach Borboa dc8282d086 Bump major version 2017-11-01 23:07:25 -07:00
Zach Borboa ef4468d36f Fix #305: Implement Curl::getResponseCookies() 2017-11-01 22:59:25 -07:00
Zach Borboa 05a5af9b8e Fix #472: Reset request content-length to fix subsequent request hanging after a PUT request 2017-10-11 00:01:20 -07:00
Zach Borboa 7bce2d9606 Clean up 2017-10-09 19:33:10 -07:00
Zach Borboa ce9ff3c7ec Fix #347: Add basic support for requests using relative paths 2017-10-09 19:30:36 -07:00
Zach Borboa dd8493d6b6 Fix @return in doccomment 2017-09-13 23:53:22 -07:00
Zach Borboa 65c5a598ab Clean up 2017-09-11 22:32:47 -07:00
Zach Borboa c15f23ce5d Bump minor version 2017-09-04 14:38:09 -07:00
Zach Borboa 4ec89be9bc Allow setRetry() methods to use callables 2017-09-02 02:23:40 -07:00
Zach Borboa 0f1e16a6fa Implement MultiCurl::setRetry() 2017-08-31 01:26:42 -07:00
Zach Borboa 3c3741f891 Implement Curl::setRetry() 2017-08-30 01:36:13 -07:00
Zach Borboa 5b0bbb51cd Clean up 2017-08-24 23:55:01 -07:00
Dane Westvik cd08b5dee7 Support for urls with query parameters 2017-08-24 13:36:23 -07:00
Philipp Keck 9dada41203 Let all main request methods return mixed
Many of them have `string`, but that's not what `exec()` returns and at least when a response parser is used, the returned value is not a string, which confuses tools like type checkers.
2017-07-07 22:01:14 +02:00
Zach Borboa 0dcf0230ef Bump patch version 2017-06-27 16:57:16 -07:00
Zach Borboa b4d20d0f28 Fix #430: Close open file handle before renaming file affecting Windows 2017-06-27 01:59:26 -07:00
Zach Borboa eeaf3f9534 Clean up PSR-2 coding styles 2017-05-02 07:56:45 -07:00
Zach Borboa a0802b309d Clean up 2017-05-01 02:02:40 -07:00
Zach Borboa bcde6d9a54 Fix #265: Combine common cookie encoding into Curl::setEncodedCookie() and Curl::buildCookies(). 2017-05-01 01:48:13 -07:00
Zach Borboa 66d0afcb48 Bump minor version 2017-05-01 01:11:43 -07:00
Zach Borboa 2264362338 Clean up namespacing 2017-04-30 15:58:33 -07:00
Zach Borboa d21a7dcc8b Clean up completed multi curl instance to fix memory leak 2017-04-30 03:10:24 -07:00
Zach Borboa d214d6b767 Use temporary placeholder to store header callback data and avoid memory leak. 2017-04-30 02:52:45 -07:00
Zach Borboa 13ef3e4ef9 Reduce number of ops 2017-04-29 11:25:19 -07:00
Zach Borboa e0a6112375 Reduce number of ops 2017-04-29 11:21:28 -07:00
Zach Borboa efbcc080bb Allow the disabling of automatic response decoding.
The following will disable their respective decoders:

  $curl->setDefaultDecoder(false);
  $curl->setJsonDecoder(false);
  $curl->setXmlDecoder(false);
2017-04-29 02:54:35 -07:00
Zach Borboa 38f6825aa2 Replace variable function calls with call_user_func().
Fixes "Call to undefined function \Curl\Decoder::decodeXml()" in PHP
5.3, 5.4, 5.5, 5.6, hhvm.
2017-04-28 00:40:00 -07:00
Zach Borboa 97319a51f8 Move decoder functions to separate class file 2017-04-27 23:51:21 -07:00
Zach Borboa a6e94ae8bd Remove use of anonymous functions for json decoder and xml decoder 2017-04-27 02:41:45 -07:00