Commit Graph

291 Commits

Author SHA1 Message Date
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
Zach Borboa 5aed969628 Add additional wait when curl_multi_select fails to block 2017-04-27 00:15:48 -07:00
Zach Borboa 658a10f013 Fix #441: Allow using string as well as array for query parameter argument 2017-04-25 23:53:33 -07:00
Zach Borboa 4fbfbd8ced Use instance's file handle 2017-03-20 01:20:27 -07:00
Zach Borboa 75edfe2ab1 Bump minor version 2017-01-26 23:49:43 -08:00
Zach Borboa 79f659d159 Fix probable bugs; Clean up style 2016-12-28 19:19:23 -08:00
Zach Borboa 7dc6eba0af Process multicurl requests in ascending numerical order.
Previously, multicurl requests were added to the end and removed from the end. Requests are now added to the end and
removed from the beginning. Using array_shift() will be slower than array_pop().

Before using "array_push()" + array_pop():
  1
  1 2
  1 2 3
  1 2 3 4
  1 2 3
  1 2
  1

After using "array_push()" + array_shift():
  1
  1 2
  1 2 3
  1 2 3 4
  2 3 4
  3 4
  4
2016-12-25 01:45:16 -05:00
Zach Borboa b6e6524d29 Move array methods to separate file 2016-12-24 13:04:12 -08:00
Zach Borboa bf701e7f3f Move large rfc variables down 2016-12-24 12:52:17 -08:00
Zach Borboa 7b5dd71bd5 Implement MultiCurl::setCookies() 2016-12-23 00:20:51 -08:00
Zach Borboa 296345b0a2 Implement Curl::setCookies() 2016-12-18 11:31:38 -08:00
Zach Borboa de1869b3ee Return boolean when calling setCookieFile() and setCookieJar() 2016-12-15 03:53:47 -08:00
Zach Borboa 07dee3e181 Bump minor version 2016-11-13 03:11:22 -08:00
Zach Borboa d6f4d1a8f6 Move rfc2616 and rfc6265 to deferred properties.
This avoids always calling array_fill_keys() for each new instance of Curl and
makes var_dump($curl); cleaner.
2016-11-12 08:57:58 -08:00
Zach Borboa 5cb05e956a Fix #405: Support resume for Curl::download() 2016-11-10 20:34:18 -08:00
Zach Borboa ed37de7d87 Fix #404: Allow calling Curl::getInfo() without option 2016-11-04 02:24:50 -07:00
Zach Borboa 5cb8223c47 Fix #400: Use sequential ids to allow for ordered post processing 2016-10-14 19:50:57 -07:00
Zach Borboa 97b24c65fa Return curl instance when calling MultiCurl::addCurl() like other MultiCurl::add*() methods 2016-10-12 08:24:45 -07:00
Kai Hempel e087f51c61 Add a curl add method for direct handle attach 2016-10-11 17:13:32 +02:00
Zach Borboa 459231fae7 Bump patch version 2016-09-27 00:35:34 -07:00
Zach Borboa df358fc425 Bump major version 2016-09-27 00:35:17 -07:00
Zach Borboa 15db0b95a3 Add syntax check exclusion; Clean up syntax 2016-09-27 00:28:57 -07:00
Zach Borboa ecdfa174cb Rename setURL to setUrl 2016-09-27 00:24:22 -07:00
Zach Borboa bfc868fab4 Remove foreach loops 2016-09-24 01:22:44 -07:00
Zach Borboa 36ad0e4ecf Implement setHeaders() 2016-09-24 01:15:27 -07:00
Zach Borboa cc23a1b29e Fix Curl::unsetHeader() 2016-09-24 01:02:04 -07:00
Zach Borboa 90b17385f6 Implement removeHeader(); unsetHeader now unsets existing header
removeHeader() removes an internal request header.
unsetHeader() now removes an extra header previously set using setHeader().
2016-09-24 00:09:55 -07:00
Zach Borboa af03a4b81e Add bytes to callback 2016-09-23 01:25:52 -07:00
Zach Borboa 4818885d3f Update available methods in readme 2016-09-23 01:17:55 -07:00
Zach Borboa 363a362bcd Fix #332: Implement Curl::setMaxFilesize() 2016-09-23 01:13:49 -07:00
Zach Borboa f26d659a89 Clean up 2016-09-22 23:54:10 -07:00
Zach Borboa f4fffbc486 Add ability to set the number of concurrent requests 2016-09-04 20:54:57 -07:00
Zach Borboa 35fbade352 Rename windowSize to concurrency 2016-09-04 20:50:01 -07:00
Zach Borboa e77f853ab6 Make windowSize private 2016-09-04 20:48:41 -07:00
Zach Borboa 67e7992386 Clean up 2016-09-04 01:45:03 -07:00
Zach Borboa f9cf113a86 Remove Curl::getResponseCookies(), use Curl::responseCookies directly instead 2016-09-04 01:43:10 -07:00
Zach Borboa 7038db4538 Make internal method private 2016-09-04 01:42:17 -07:00
Zach Borboa c2d04221e7 Add MultiCurl::setPort() 2016-09-04 01:19:27 -07:00
Zach Borboa 35ac500e03 Improve cookie handling for multicurl requests.
Fix Curl::responseCookies set in headerCallback() being overwritten during multicurl request.
Use rfc cookie encoding when using MultiCurl::setCookie().
Make MultiCurl::responseCookies publicly accessible.
2016-09-04 01:12:06 -07:00
Zach Borboa 21134e119e Add MultiCurl::setOpts() 2016-09-04 00:07:31 -07:00
Zach Borboa 82b64c2290 Add MultiCurl::setConnectTimeout() 2016-09-03 23:19:42 -07:00
Zach Borboa c634e65a19 Add MultiCurl::setCookieString() 2016-09-03 23:18:22 -07:00
Zach Borboa 946f4a74a1 Fix undefined index when option not set for MultiCurl::getOpt() 2016-09-03 23:06:25 -07:00
Zach Borboa a02c8aa5f2 Fix undefined index when option not set 2016-09-03 22:49:41 -07:00
Zach Borboa 2e08fc596a Bump major version 2016-09-02 17:18:01 -07:00
Zach Borboa 3789e2077b Implement a more efficient handling of requests in parallel.
A window size is now used to set the maximum number of active requests at any given time. Each time a request is
completed, a new request is added from the queue until all requests are processed. The result is a more continuous
stream of requests rather than a burst of requests that may cause servers to quickly become overloaded.
2016-09-02 03:57:53 -07:00
Zach Borboa b907159c2f Move download complete handling to Curl::exec() 2016-09-02 01:30:16 -07:00
Zach Borboa e55c556601 Refactor for queuing 2016-09-02 01:09:23 -07:00
Zach Borboa 75a944dd90 Clean up 2016-09-02 00:43:41 -07:00