Zach Borboa
cdad9e1a01
Rename variable to use isChildOfMultiCurl as method name
2018-07-07 03:59:46 -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
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
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
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
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
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
5aed969628
Add additional wait when curl_multi_select fails to block
2017-04-27 00:15:48 -07: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
7b5dd71bd5
Implement MultiCurl::setCookies()
2016-12-23 00:20:51 -08:00
Zach Borboa
de1869b3ee
Return boolean when calling setCookieFile() and setCookieJar()
2016-12-15 03:53:47 -08: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
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
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