easy:Perform -- perform a blocking file transfer
Invoke this function after hurl.Easy() and all the easy:SetOpt() calls are made, and will perform the transfer as described in the options. It must be called with the same easy handle as input as the hurl.Easy() call returned.

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 easy:Perform().

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 easy:Perform().


Show TOC