On Sat, 16 Jan 2021, Andreas Falkenhahn via curl-library wrote:
I'm uploading data by passing the remote URL in CURLOPT_URL and providing data to upload through my CURLOPT_READFUNCTION. Now I was wondering if there are any protocols that actually return data through the CURLOPT_WRITEFUNCTION after the upload has completed?
Yes: HTTP for example typically do this.
For example, when uploading to HTTP I need to listen to the CURLOPT_WRITEFUNCTION as well because after the upload has completed, a HTML page generated by PHP script that handles the upload is returned. However, when doing HTTP uploads I'm not using CURLOPT_READFUNCTION and CURLOPT_UPLOAD at all but just CURLOPT_MIMEPOST.
You provide CURLOPT_MIMEPOST *instead of* CURLOPT_READFUNCTION to provide the data to upload. That's your choice.
That's why I was wondering if this is some sort of rule, i.e. is it safe to assume that CURLOPT_WRITEFUNCTION will never be called when CURLOPT_UPLOAD has been set to 1 or are there protocols that use CURLOPT_WRITEFUNCTION even when upload has been activated by setting CURLOPT_UPLOAD to 1?
No there isn't. If you CURLOPT_UPLOAD to a HTTP site, you'll most likely get data back that gets passed to CURLOPT_WRITEFUNCTION.
We should probably make this clear in the docs somewhere, but I'm not really sure how or where...
-- / daniel.haxx.se | Commercial curl support up to 24x7 is available! | Private help, bug fixes, support, ports, new features | https://www.wolfssl.com/contact/ ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.html