easy:Perform() performs the entire request in a blocking manner and returns when done, or if it failed.
For non-blocking behavior, see multi:Perform().
You can do any amount of calls to
easy:Perform() while using the same easy handle. If you intend to transfer
more than one file, you are even encouraged to do so. libcurl will then attempt to re-use the same connection
for the following transfers, thus making the operations faster, less CPU intense and using less network resources.
Just note that you will have to use easy:SetOpt() between the invokes to set options for the following
You must never call this function simultaneously from two places using the same easy handle. Let the function return first before invoking it another time. If you want parallel transfers, you must use several curl easy handles.
While the easy handle is added to a multi handle, it cannot be used by