Hi Liviu, I have not changed anything in the write_func(). Also I tried by adding some debug statements. I observed that only in the case of success write_func() is being called and I get the debug statements in my logs. In the case of failure, the callback function is never called. This is what I observe. If you try for failure case, let me know how it worked for you.
Regards, Agalya From: [email protected] [mailto:[email protected]] On Behalf Of Liviu Chircu Sent: Thursday, June 23, 2016 5:52 AM To: [email protected] Subject: Re: [OpenSIPS-Users] CURL library with respect to REST_API calls Hi, Ramachandran! I read the "CURLOPT_WRITEFUNCTION" section [1] one more time, and it really looks like it should pass the body of the reply to the "write_func" callback we register before sending the HTTP PUT, even if we got an error code (3XX or higher). Did you change anything in the "write_func()"? Notice how their docs say that if a proper "len" is not returned, the transfer will be aborted. Apart from that, I have no other ideas for now but to try and fetch the body myself on an error HTTP ret code of a CUROPT_PUT operation, see how (or if) it works for me, and give you more feedback. [1]: https://curl.haxx.se/libcurl/c/CURLOPT_WRITEFUNCTION.html All the best, Liviu Chircu OpenSIPS Developer http://www.opensips-solutions.com On 22.06.2016 20:19, Ramachandran, Agalya (Contractor) wrote: Hi team, Any one has any clue on the below topic? Regards, Agalya From: Ramachandran, Agalya (Contractor) Sent: Monday, June 20, 2016 1:45 PM To: OpenSIPS users mailling list <[email protected]><mailto:[email protected]> Subject: CURL library with respect to REST_API calls Hi team, I have a question regarding curl library behavior with respect to curl_easy_perform API call. Here is the snippet of the code that am using in "rest_put" API call in rest_methods.c file w_curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_func); w_curl_easy_setopt(handle, CURLOPT_WRITEDATA, &res_body); When curl_easy_perform API call is success, I could able to retrieve the result body from the res_body. But in the case of API call failure am not getting any details of the message. But getting only the http response code. Is there a way to get the message details as well in the case where curl_easy_perform API fails? LM_INFO(" Actual result body is %s\n", res_body.s); When I print this, in the case of success, am getting a http response message in detail. But in case of failure, the call back function write_func is not at all called. Why it is so? Please guide me if there is a way to the message details in case of failure too. Regards, Agalya _______________________________________________ Users mailing list [email protected]<mailto:[email protected]> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
