Commit Graph

57 Commits

Author SHA1 Message Date
Zach Borboa 36ad0e4ecf Implement setHeaders() 2016-09-24 01:15:27 -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 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 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 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
Zach Borboa 6e636f02c8 Add warning against using error code from curl_errno() for multi handles 2016-08-31 23:31:32 -07:00
Zach Borboa 1edc13b5eb Clean up docblocks 2016-08-29 23:05:01 -07:00
Zach Borboa 39c21041a5 Clean up per PSR2 2016-08-24 00:25:38 -07:00
Zach Borboa a2918325ae Fix "Too many open files" error when adding hundreds of downloads using MultiCurl:addDownload() 2016-08-15 23:41:46 -07:00
Zach Borboa 58a6568cab Return immediately when already multicurl has already started 2016-08-15 00:39:26 -07:00
Zach Borboa ea7e649308 Set content-length header when it can be determined 2016-08-11 20:47:47 -07:00
Gor Martsen 4f16a605aa Add Search request 2016-08-11 11:54:18 -04:00
Zach Borboa 8f2b878237 Clean up spacing 2016-08-10 02:46:38 -07:00
Zach Borboa 25d9304672 Add output parameter to MultiCurl::verbose 2016-07-04 11:34:52 -07:00
Zach Borboa 74f9d0fa37 Update parameter names to match for Curl::post() and MultiCurl::addPost() 2016-07-04 11:11:54 -07:00
Cyrille Faucheux dc6001688f Support post-redirect-get requests 2016-03-05 13:45:25 +01:00
Zach Borboa ebca4c2c19 Add MultiCurl::setXmlDecoder 2016-01-31 10:53:32 -08:00
Zach Borboa ebf406c14a Fix #170: Allow setting MultiCurl callbacks after requests are added 2016-01-23 12:08:33 -08:00
Zach Borboa e70228cff9 Fix #248: Close MultiCurl resource only when still open 2015-09-18 01:14:51 -07:00
Zach Borboa 2df98d1708 Add test for adding Multicurl handles after calling start() 2015-08-19 08:47:50 -07:00
Julian Esperat b3d25c8b3c Allow adding Multicurl handles again after start() 2015-08-19 10:55:58 +02:00
Zach Borboa 290c178516 Fix typo 2015-08-11 17:08:40 -07:00
Vladimir Chernyshev 8e5de8c2fd Update MultiCurl.php
Add setDigestAuthentication
2015-08-11 13:25:36 +03:00
Zach Borboa 8d701b0648 Fix #191: Use $camelCase for properties (class member variables) 2015-07-30 23:54:03 -07:00
Zach Borboa b7f1ebbea3 Add docblock @throws 2015-05-07 02:40:21 -07:00
Zach Borboa 234d2bc5ae Add docblocks 2015-04-24 01:43:07 -07:00
Zach Borboa 70be5e4eb3 Fix #171: Allow sending body data in delete() 2015-04-22 01:18:48 -07:00
Zach Borboa 7f903ce06b Update parameter names for delete() 2015-04-22 00:13:15 -07:00
Zach Borboa 2a103613a6 Clean up 2015-04-09 10:32:55 -07:00
Zach Borboa 34d2b95d01 Move download complete to unified method 2015-04-01 10:38:37 -07:00
Zach Borboa d279e4b598 Fix curl file handle not being correctly unset; Clean up 2015-04-01 09:58:21 -07:00
Zach Borboa cac457a562 Allow setting the base url for requests in the constructor (MultiCurl::__construct($base_url = null)) 2015-03-03 22:26:02 +07:00
Zach Borboa 20ee312a10 Add ability to specify a callback for MultiCurl::download() 2015-02-25 01:24:38 +07:00
Zach Borboa 3fb64b14de Rename Curl::postfields() -> Curl::buildPostData 2015-02-19 14:04:18 +07:00
Zach Borboa 7f2a97f57b Implement additional MultiCurl functions available in Curl.
MultiCurl::setBasicAuthentication(), MultiCurl::setCookie(),
MultiCurl::setCookieFile(), MultiCurl::setCookieJar(),
MultiCurl::setJsonDecoder(), MultiCurl::setReferer(), MultiCurl::setReferrer(),
MultiCurl::setTimeout(), MultiCurl::setUserAgent(), MultiCurl::unsetHeader(),
MultiCurl::verbose()
2015-02-16 15:55:57 +07:00
Zach Borboa f6563812e8 Group class properties and methods in MultiCurl by visibility 2015-02-15 01:49:08 +07:00
Zach Borboa 124d60314c Implement MultiCurl::addDownload(); Add Curl::download() and MultiCurl::download() examples 2015-02-15 00:10:16 +07:00
Zach Borboa 252055207b Clean up 2015-02-12 18:55:55 +07:00
Zach Borboa 6e9bdf9817 Implement MultiCurl::setHeader(), MultiCurl::setOpt(), MultiCurl::getOpt() 2015-02-11 07:41:21 +07:00